{
  "version": "7.0",
  "data_api_version": "3.0",
  "routing_model": {
    "RESERVATION_TYPE": ["RESERVATION_DETAILS"],
    "RESERVATION_DETAILS": ["RESERVATION_CONFIRM"],
    "RESERVATION_CONFIRM": []
  },
  "screens": [
    {
      "id": "RESERVATION_TYPE",
      "title": "Reservar mesa",
      "terminal": false,
      "layout": {
        "type": "SingleColumnLayout",
        "children": [
          {
            "type": "Form",
            "name": "reservation_type_form",
            "children": [
              {
                "type": "TextHeading",
                "text": "Que horario quieres reservar?"
              },
              {
                "type": "RadioButtonsGroup",
                "name": "meal_period",
                "label": "Tipo de reserva",
                "required": true,
                "data-source": [
                  { "id": "desayuno", "title": "Desayuno", "description": "8:00 AM a 12:00 PM" },
                  { "id": "comida", "title": "Comida", "description": "12:00 PM a 6:00 PM" },
                  { "id": "cena", "title": "Cena", "description": "6:00 PM a 11:00 PM" }
                ]
              },
              {
                "type": "Footer",
                "label": "Continuar",
                "on-click-action": {
                  "name": "navigate",
                  "next": { "type": "screen", "name": "RESERVATION_DETAILS" },
                  "payload": {
                    "meal_period": "${form.meal_period}"
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "id": "RESERVATION_DETAILS",
      "title": "Datos de reserva",
      "terminal": false,
      "layout": {
        "type": "SingleColumnLayout",
        "children": [
          {
            "type": "Form",
            "name": "reservation_details_form",
            "children": [
              {
                "type": "TextInput",
                "name": "guest_name",
                "label": "Nombre",
                "required": true,
                "input-type": "text"
              },
              {
                "type": "TextInput",
                "name": "phone",
                "label": "Telefono WhatsApp",
                "required": true,
                "input-type": "phone"
              },
              {
                "type": "TextInput",
                "name": "date",
                "label": "Fecha",
                "required": true,
                "helper-text": "Ejemplo: 2026-08-03",
                "input-type": "text"
              },
              {
                "type": "Dropdown",
                "name": "time",
                "label": "Hora",
                "required": true,
                "data-source": [
                  { "id": "08:00", "title": "8:00 AM" },
                  { "id": "09:00", "title": "9:00 AM" },
                  { "id": "10:00", "title": "10:00 AM" },
                  { "id": "11:00", "title": "11:00 AM" },
                  { "id": "12:00", "title": "12:00 PM" },
                  { "id": "13:00", "title": "1:00 PM" },
                  { "id": "14:00", "title": "2:00 PM" },
                  { "id": "15:00", "title": "3:00 PM" },
                  { "id": "16:00", "title": "4:00 PM" },
                  { "id": "17:00", "title": "5:00 PM" },
                  { "id": "18:00", "title": "6:00 PM" },
                  { "id": "19:00", "title": "7:00 PM" },
                  { "id": "20:00", "title": "8:00 PM" },
                  { "id": "21:00", "title": "9:00 PM" },
                  { "id": "22:00", "title": "10:00 PM" }
                ]
              },
              {
                "type": "Dropdown",
                "name": "party_size",
                "label": "Personas",
                "required": true,
                "data-source": [
                  { "id": "1", "title": "1 persona" },
                  { "id": "2", "title": "2 personas" },
                  { "id": "3", "title": "3 personas" },
                  { "id": "4", "title": "4 personas" },
                  { "id": "5", "title": "5 personas" },
                  { "id": "6", "title": "6 personas" },
                  { "id": "7", "title": "7 personas" },
                  { "id": "8", "title": "8 personas" },
                  { "id": "9_plus", "title": "9 o mas" }
                ]
              },
              {
                "type": "TextInput",
                "name": "notes",
                "label": "Notas",
                "required": false,
                "helper-text": "Cumpleanos, terraza, silla infantil, alergias o peticion especial",
                "input-type": "text"
              },
              {
                "type": "Footer",
                "label": "Revisar",
                "on-click-action": {
                  "name": "navigate",
                  "next": { "type": "screen", "name": "RESERVATION_CONFIRM" },
                  "payload": {
                    "meal_period": "${data.meal_period}",
                    "guest_name": "${form.guest_name}",
                    "phone": "${form.phone}",
                    "date": "${form.date}",
                    "time": "${form.time}",
                    "party_size": "${form.party_size}",
                    "notes": "${form.notes}"
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "id": "RESERVATION_CONFIRM",
      "title": "Confirmar solicitud",
      "terminal": true,
      "success": true,
      "layout": {
        "type": "SingleColumnLayout",
        "children": [
          {
            "type": "Form",
            "name": "reservation_confirm_form",
            "children": [
              {
                "type": "TextHeading",
                "text": "Solicitud lista"
              },
              {
                "type": "TextBody",
                "text": "Enviaremos tu solicitud al equipo. La reserva queda pendiente hasta validar disponibilidad."
              },
              {
                "type": "OptIn",
                "name": "marketing_opt_in",
                "label": "Acepto recibir confirmaciones, recordatorios y mensajes relacionados con mi reserva por WhatsApp.",
                "required": true
              },
              {
                "type": "OptIn",
                "name": "organic_campaign_opt_in",
                "label": "Tambien quiero recibir novedades, menu, eventos y beneficios del restaurante.",
                "required": false
              },
              {
                "type": "Footer",
                "label": "Enviar solicitud",
                "on-click-action": {
                  "name": "complete",
                  "payload": {
                    "flow_name": "gato_bronco_reservas_desayuno_comida_cena",
                    "meal_period": "${data.meal_period}",
                    "guest_name": "${data.guest_name}",
                    "phone": "${data.phone}",
                    "date": "${data.date}",
                    "time": "${data.time}",
                    "party_size": "${data.party_size}",
                    "notes": "${data.notes}",
                    "marketing_opt_in": "${form.marketing_opt_in}",
                    "organic_campaign_opt_in": "${form.organic_campaign_opt_in}",
                    "reservation_status": "pending_validation",
                    "crm_route": "gobook_reservation"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
