bookings:*. Está disponible solo en locales nativos de Maple; un local administrado por un proveedor responde 422 capability_unsupported.
Maple envía todos los mensajes de texto a los huéspedes. Notificar a un grupo envía el SMS de mesa lista de Maple e inicia la ventana de respuesta del establecimiento. Usted nunca escribe directamente a los huéspedes de la lista de espera.
Una app para huéspedes normalmente necesita
bookings:read y bookings:write. Una app de recepción o de POS también necesita bookings:manage.
Defina MAPLE_BASE y MAPLE_KEY como en Tome reservas.
1. Lea la cola
waitlist lista primero las entradas activas, en orden de fila, y open indica si pueden unirse grupos remotos. Cada waitlist_entry incluye su position, el quoted_wait que se le dio y los datos de contacto del huésped.
Para cotizar una espera antes de que un grupo se una:
parties_ahead cuenta los grupos que compiten por las mismas mesas y wait_minutes da un rango min–max. Los grupos de más de 50 responden 422 party_size_out_of_bounds.
2. Agregue un grupo
Los grupos remotos solo pueden unirse a una lista de espera abierta. El establecimiento la abre conPOST /v1/locations/{locationId}/waitlist/open (bookings:manage).
phonees obligatorio: es la única forma en que Maple puede avisar al huésped que su mesa está lista. Maple lo guarda normalizado en E.164 (los números de EE. UU. pueden omitir+1). Un número al que Maple no puede enviar texto, como uno con extensión, responde400.- Una lista de espera cerrada responde
409 waitlist_closed. idempotency_keyfunciona como en las escrituras de reservas: reintente una respuesta perdida con la misma clave y el mismo cuerpo para obtener la misma entrada, incluso si la lista de espera se cerró entretanto. La clave se limita a su app en todos sus locales: la misma clave con un cuerpo distinto, o enviada a otro local, responde409 idempotency_key_reused. Consulte Idempotencia.
3. Notifique y siente
Cuando una mesa está por liberarse, notifique al grupo:notified. Si el huésped no responde dentro de la ventana de respuesta del establecimiento, vence como expired_no_response. Notificar una entrada que ya no está en espera la devuelve sin cambios. Un local donde Maple no envía mensajes a los huéspedes responde 422 guest_messaging_unavailable: los mensajes a huéspedes aún no están habilitados allí, o el establecimiento los desactivó. Siente o retire al grupo.
Cuando el grupo llega, siéntelo:
seated con un booking_id. Esa reserva de cliente sin reserva (channel: walk_in) se lee con GET /v1/bookings/{bookingId} y aparece en las listas de reservas como cualquier otra reserva.
- Si no hay mesa libre ahora, responde
409 slot_unavailable; notifique o espere, y vuelva a intentar. - Una entrada que ya salió de la cola responde
409 illegal_transition.
4. Retire a un grupo de la fila
Ambas devuelven la entrada. Una entrada que ya salió de la cola, ya sea sentada, retirada o vencida, se devuelve sin cambios.
POST /v1/locations/{locationId}/waitlist/close impide que se unan grupos remotos. Los grupos que ya esperan se quedan en la fila.
Estados de las entradas
position tiene valor mientras una entrada está activa (waiting, notified, on_my_way) y es null después.
Manténgase al día
Suscríbase a los eventos de lista de espera (waitlist_entry.created, .notified, .seated, .removed, .expired) para enterarse de los cambios que hagan el establecimiento u otras apps. Cada evento incluye el estado más reciente de la entrada. Para reconciliar tras un periodo sin conexión, lea GET /v1/locations/{locationId}/waitlist; evite consultarlo con más frecuencia que cada 15 segundos. Las llamadas de lista de espera comparten el presupuesto de reservas de 300 solicitudes por minuto por app y entorno; consulte Límites de frecuencia.