Definiciones de los parámetros
Como se especifica en el
Availability
definición:
party_size
: Cantidad de personas que pueden acomodarse durante este período ranura. Un restaurante se puede asociar con varios horarios disponibles al mismo tiempo. cada una especifica unparty_size
diferente, si, por ejemplo, 2, 3 o 4 personas puede sentarse con una reservaspots_open
: Es la cantidad de cupos disponibles actualmente para esto. entrada de disponibilidadspots_total
: Es la cantidad total de lugares que tiene el comercio para este elemento. configuración (incluidas las que no están disponibles)
Estos tres parámetros trabajan juntos para crear una representación digital del
plano del edificio. party_size
es la cantidad de personas que puede contener cada tabla (existe
puede ser una entrada para cada tamaño que sea compatible con una tabla). spots_open
y spots_total
son recuentos de la cantidad de tablas que pueden admitir ese party_size
.
Ejemplo de plano del edificio vacío
Imagina un restaurante con el siguiente plano de planta y sin actividad reservas:
Los valores para 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 disponible de este comercio debería verse así:
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:
Ahora, los valores para party_size
, spots_open
y spots_total
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 } } ] }
Especificación de la disponibilidad de restaurantes con compatibilidad para mesas combinadas
Hay muchas formas en que un restaurante puede combinar mesas para sostener mesas más grandes
grupos. Se espera que en tus feeds se especifiquen spots_open
y spots_total
.
de una manera que refleje con precisión si puedes aceptar partes de un determinado
de tamaño del ensamble. A continuación, se muestra un ejemplo de cómo puedes especificar tablas combinadas.
Sus feeds pueden variar un poco en la forma en que se realiza este cálculo y se
es aceptable que especifiques spots_open
y spots_total
de una manera que
coincidan con tu lógica empresarial.
Si un restaurante admite la combinación de mesas para formar un grupo más grande, puedes
actualiza tu spots_open
y tu spots_total
para reflejarlo.
Supongamos que un restaurante puede combinar dos mesas pequeñas para una fiesta de 7 a 10 personas. personas.
Si no hay reservas activas, los valores de party_size
, spots_open
y spots_total
son las 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 hace una reserva para una cantidad de 10 personas que combina dos tablas pequeñas.
Por lo tanto, los valores para party_size
, spots_open
y spots_total
ahora 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 |