Definiciones de los parámetros
Como se especifica en la definición de Availability
:
party_size
: Es el tamaño de la fiesta que se puede incluir durante este espacio de tiempo disponible. Un restaurante se puede asociar con varios horarios disponibles para la misma hora, cada uno con unparty_size
diferente si, por ejemplo, la reserva puede acomodar 2, 3 o 4 personas.spots_open
: Es la cantidad de lugares disponibles actualmente para esta entrada de disponibilidad.spots_total
: Es la cantidad total de lugares que tiene el comercio para esta configuración (incluidos los que no están disponibles).
Estos tres parámetros funcionan juntos para crear una representación digital del plano del piso. party_size
es la cantidad de personas que puede contener cada tabla (habrá una entrada para cada tamaño que pueda admitir una tabla). spots_open
y spots_total
son recuentos de cuántas tablas pueden admitir ese party_size
.
Ejemplo de plano de planta vacío
Imagina un restaurante con el siguiente plano y sin reservas activas:
Los valores de party_size
, spots_open
y spots_total
serían los siguientes:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
El feed de disponibilidad para un horario único en este comercio se vería de la siguiente manera:
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 4, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Ejemplo de plano del edificio con una reserva
Ahora imagina que se reservó una de las mesas redondas:
Los valores de party_size
, spots_open
y spots_total
ahora serían los siguientes:
party_size | spots_open | spots_total |
---|---|---|
4 | 2 | 3 |
5 | 2 | 3 |
6 | 3 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
JSON
{ "availability": [ { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 4 } }, { "spots_total": 3, "spots_open": 2, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 5 } }, { "spots_total": 4, "spots_open": 3, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 6 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 7 } }, { "spots_total": 1, "spots_open": 1, "duration_sec": 3600, "service_id": "1000", "start_sec": 1535806800, "merchant_id": "merch1", "resources": { "party_size": 8 } } ] }
Especifica la disponibilidad de comidas con compatibilidad con tablas combinadas
Hay muchas formas en que un restaurante puede combinar mesas para admitir grupos más grandes. Se espera que en tus feeds especifiques spots_open
y spots_total
de una manera que refleje con precisión si puedes aceptar partes de un tamaño determinado. A continuación, se muestra un ejemplo de cómo puedes especificar la combinación de tablas.
Es posible que tus feeds difieran un poco en la forma en que se realiza este cálculo, y puedes especificar spots_open
y spots_total
de una manera que coincida con tu lógica empresarial.
Si un restaurante admite la combinación de mesas para formar un grupo más grande, puedes actualizar spots_open
y spots_total
para reflejar esto.
Supongamos que un restaurante puede combinar dos mesas pequeñas para que se sienten entre 7 y 10 personas.
En el caso de que no haya reservas activas, los valores de party_size
, spots_open
y spots_total
son los siguientes:
party_size | spots_open | spots_total |
---|---|---|
4 | 3 | 3 |
5 | 3 | 3 |
6 | 4 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 1 | 1 |
10 | 1 | 1 |
Ahora, con el mismo plano del edificio, se realiza una reserva para un grupo de 10 personas que combina dos mesas pequeñas.
Luego, los valores de party_size
, spots_open
y spots_total
son los siguientes:
party_size | spots_open | spots_total |
---|---|---|
4 | 1 | 3 |
5 | 1 | 3 |
6 | 2 | 4 |
7 | 1 | 1 |
8 | 1 | 1 |
9 | 0 | 1 |
10 | 0 | 1 |