Qué incluye este ejemplo
Request
Defineavailability.schedules en el producto. Usa la misma forma semanal que en los horarios de menú: exactamente 7 entradas day_of_week (monday–sunday), cada una con un array periods. Los periodos abiertos usan start_time / end_time; closed es opcional (por defecto false); start_date / end_date opcionales acotan una ventana con fechas. Usa null cuando el producto no tenga restricción horaria. Ver Horarios.
product-special-schedule.json
Puntos clave
- Horarios de menú vs producto. El menú permanece activo todo el día. La cerveza se oculta fuera de 17:00–19:00 entre semana aunque la categoría y el menú sigan visibles.
- Semana completa requerida. Los fines de semana siguen presentes con
"periods": [](cerrado todo el día). Semanas parciales fallan la validación. - Las categorías también pueden tener horario. Usa
categories[].availability.schedulescuando una sección completa deba aparecer solo en ciertas horas. - Indisponibilidad temporal. Para 86 puntuales, prefiere
availability.status: OUT_OF_STOCKconout_of_stock_untilen lugar de reconstruir horarios. - Overrides por contexto. Para cambiar horarios de un producto en un canal, tienda, tipo de fulfillment o menú concreto sin un upsert completo de menú, llama a Update product con
?store_id,?channel_id,?fulfillment_idy/o?menu_id, enviandoavailability.schedulesen el body del producto de menú.
Relacionado
Sync de menús — horarios
Niveles de horario: menú, categoría y producto
Menú multi horario
Dos menús daypart en un upsert