- Recurso: Disponibilidad
- Resources
- Recurrence
- ScheduleException
- DurationRequirement
- SchedulingRuleOverrides
- ConfirmationMode
- Métodos
Recurso: Disponibilidad
Es un espacio disponible del servicio que brinda el comercio, el cual indica la hora y la cantidad de cupos.
Representación JSON |
---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
Campos | |
---|---|
startTime |
Hora de inicio del espacio disponible. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
duration |
Es la duración del espacio disponible. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
spotsTotal |
Es la cantidad de cupos totales y disponibles para este espacio. Ejemplos:
Nota: Si envías solicitudes con el formato de compresión de disponibilidad que se define a continuación, se inferirán estos dos campos.
|
spotsOpen |
La cantidad de cupos disponibles |
availabilityTag |
Es una string opaca opcional para identificar este espacio disponible. Si se configura, se incluirá en las solicitudes de reservar, actualizar o cancelar citas. |
resources |
Son los recursos opcionales que se utilizan para distinguir este espacio disponible de otros cuando hay diferentes miembros del personal o salas como parte del mismo servicio. P. ej., la misma clase de yoga con 2 instructores:
|
paymentOptionId[] |
Es una lista de ID que hacen referencia a las opciones de pago que se pueden utilizar para adquirir este espacio disponible. Las opciones de pago reales se definen a nivel del comercio y también se pueden compartir entre varios. Este campo anula cualquier valor de payment_option_ids especificado en el mensaje del servicio. De manera similar, los valores de payment_option_ids especificados aquí NO tienen que estar presentes en el mensaje del servicio, aunque deben definirse a nivel del comercio. |
recurrence |
Indica la información de recurrencia para la disponibilidad, que representa más de una hora de inicio. Una recurrencia debe contener citas para un día hábil. |
scheduleException[] |
Son los espacios en los que no se puede programar este servicio. Para limitar la cantidad de mensajes de scheduleException, considera unir las excepciones adyacentes. |
deposit |
Representa el depósito opcional para este espacio disponible. Anula el depósito de servicio si se especificó uno. |
noShowFee |
Indica la tarifa opcional por no presentarse para este espacio disponible. Anula la tarifa por no presentarse del servicio si se especificó una. |
requireCreditCard |
Indica si el usuario debe proporcionar una tarjeta de crédito para reservar este espacio disponible. Si no estableces este valor, se heredará del nivel del servicio si lo especificaste allí. (Opcional). |
ticketTypeId[] |
Indica una lista de los tipos de entradas admitidos para este espacio disponible. Si no se establece, todos los tipos de entradas del servicio de jerarquía superior estarán disponibles para este espacio. Ten en cuenta que los valores de este campo deben definirse en ese servicio superior. Ejemplos:
Para representar el inventario durante los días de semana, se puede utilizar lo siguiente:
A fin de indicar que los tres tipos de recibo están disponibles para este espacio, utiliza (opcional) |
durationRequirement |
El requisito para mostrar la duración de los horarios disponibles o la hora de finalización. Se ignorará este campo si el horario disponible no está disponible. No se usa en la vertical de Cosas que hacer. (opcional) |
schedulingRuleOverrides |
Se trata de las reglas de programación de la disponibilidad. Si se propagan los campos, anularán cualquier regla de programación correspondiente en las SchedulingRules a nivel del servicio. |
confirmationMode |
Indica el modo de confirmación que se usará cuando se reserve este espacio disponible. Los intentos de crear reservas de horarios disponibles con el modo de confirmación CONFIRMATION_MODE_SYNCHRONOUS se deben aceptar o rechazar de inmediato. Los intentos de crear reservas para espacios disponibles con el modo de confirmación CONFIRMATION_MODE_ASYNCHRONOUS deben denegarse de inmediato o crearse con el estado PENDING. |
Resources
Los recursos se utilizan para distinguir los espacios disponibles entre sí cuando hay diferentes miembros del personal o salas como parte del mismo servicio. Pueden coexistir varios espacios disponibles y diversos intervalos de tiempo para el mismo servicio cuando tienen recursos diferentes.
Representación JSON |
---|
{ "staffId": string, "staffName": string, "roomId": string, "roomName": string, "partySize": integer } |
Campos | |
---|---|
staffId |
Es el ID opcional para un miembro del personal que proporciona el servicio. Este campo identifica a este miembro en todos los comercios, servicios y registros de disponibilidad. También debe ser estable en el tiempo para que se lo pueda correlacionar con las reservas anteriores. Si staffName está presente, este campo también debe estarlo. |
staffName |
Este es el nombre opcional de un miembro del personal que proporciona el servicio. Este campo se mostrará a los usuarios que realizan una reserva y debe estar expresado en lenguaje natural. Es decir, no debe ser un identificador opaco. Si staffId está presente, este campo también debe estarlo. |
roomId |
Se trata de un ID opcional para la sala en la que se encuentra el servicio. Este campo identifica la sala en todos los comercios, servicios y registros de disponibilidad. También debe ser estable en el tiempo para que se lo pueda correlacionar con las reservas anteriores. Si roomName está presente, este campo también debe estarlo. |
roomName |
Es un nombre opcional para la sala en la que se encuentra el servicio. Este campo se mostrará a los usuarios que realizan una reserva y debe estar expresado en lenguaje natural. Es decir, no debe ser un identificador opaco. (Opcional, pero obligatorio si el ID de la habitación está presente) En el comedor, el nombre de una sala solo debe usarse para las áreas de descanso, como el bar o el patio, y no para menús con precios fijos, actividades especiales ni ningún otro valor que no sea de habitación (como reservas o cenas). Se recomienda que el área de descanso predeterminada no tenga una sala de reuniones asociada. |
partySize |
Este campo solo es aplicable a restaurantes: indica el tamaño de la fiesta que se puede incluir durante este espacio de tiempo disponible. Un restaurante se puede asociar con varios espacios de tiempo disponibles al mismo tiempo. En cada uno, se puede especificar un tamaño de fiesta diferente si, por ejemplo, pueden sentarse 2, 3 o 4 personas con una reserva. |
Recurrence
Los mensajes de recurrencia son opcionales, pero permiten una representación más compacta de los espacios disponibles que se repiten de forma sistemática. Suelen representar el cronograma laboral de un día. Los mensajes del tipo ScheduleException se utilizan posteriormente para representar períodos reservados o no disponibles dentro del día laboral.
Requisitos:
- La expansión de los espacios disponibles o de las recurrencias NO debe crear espacios disponibles idénticos. Si los ID, el campo startTime, la duración y los recursos coinciden, los espacios disponibles se considerarán idénticos.
- NO mezcles el formato de disponibilidad estándar y la recurrencia en los espacios disponibles de un mismo servicio. La recurrencia beneficia a los comercios o servicios que ofrecen citas. El formato estándar se orienta a los comercios o servicios que tienen clases programadas con regularidad.
- Las recurrencias no deben durar más de 24 horas.
Representación JSON |
---|
{ "repeatUntil": string, "repeatEvery": string } |
Campos | |
---|---|
repeatUntil |
Es la marca de tiempo UTC máxima inclusiva hasta la cual se repite la disponibilidad. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
repeatEvery |
Define el tiempo que se debe dejar entre espacios disponibles sucesivos. Ejemplo: Un espacio disponible con el campo duration establecido en 20 min, repeatEvery en 30 min, startTime en 9:00 a.m. y repeatUntil en 11:00 a.m. generará los siguientes espacios disponibles: de 9 a 9:20 a.m., de 9:30 a 9:50 a.m., de 10 a 10:20 a.m., de 10:30 a 10:50 a.m. y de 11 a 11:20 a.m. (obligatorio) Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
ScheduleException
Los mensajes de ScheduleException representan períodos reservados o no disponibles dentro de la jornada laboral, que son excepciones a la recurrencia descrita anteriormente. A medida que se reservan los espacios disponibles, se debe actualizar la lista de excepciones para reflejar los períodos que dejan de estar disponibles. La recurrencia en sí no se debe modificar.
Representación JSON |
---|
{
"timeRange": {
object ( |
Campos | |
---|---|
timeRange |
Es el período que dura la excepción. Los espacios disponibles descritos en la recurrencia que se superpongan con este período de cierre-apertura se considerarán no disponibles. Ejemplo: Si el mensaje Recurrence tuviera el campo duration establecido en 20 min, repeatEvery en 30 min, startTime en 9:00 a.m. y repeatUntil en 11:00 a.m. y utilizaras un mensaje ScheduleException con el campo timeRange configurado con el período de 9:45 a.m. a 11:00 a.m., los siguientes espacios se marcarían como no disponibles: de 9:30 a 9:50 a.m., de 10 a 10:20 a.m. y de 10:30 a 10:50 a.m. Ten presente que, como el período abarca desde el cierre hasta la apertura, el espacio disponible que comienza a las 11 a.m. no se verá afectado. |
DurationRequirement
Esta enumeración indica qué requisitos existen para que el usuario confirme o vea la duración y la hora de finalización de los horarios solicitados.
Enumeraciones | |
---|---|
DURATION_REQUIREMENT_UNSPECIFIED |
No se especifica la hora de finalización. Esta es la opción predeterminada. |
DO_NOT_SHOW_DURATION |
La hora de finalización no se muestra al usuario. |
MUST_SHOW_DURATION |
Se debe mostrar al usuario la hora de finalización para poder programar una cita. |
SchedulingRuleOverrides
Son las reglas de programación a nivel de la disponibilidad.
Representación JSON |
---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
Campos | |
---|---|
lastBookableSec |
Indica la última hora (en segundos) en que se puede reservar este espacio disponible. Esta marca de tiempo debe ser anterior al campo startSec del espacio disponible que debe respetarse (si los usuarios deben poder reservar después de la hora de inicio, usa SchedulingRules.min_booking_before_end_time a nivel del servicio). Si está presente, anulará todo lo que se especifique en el campo min_booking_buffer del objeto SchedulingRules del servicio correspondiente. |
firstBookableSec |
Indica la primera hora (en segundos) en que se puede reservar este espacio. Esta marca de tiempo debe ser anterior al campo startSec del espacio disponible o al campo lastBookableSec si está especificado. |
lastOnlineCancellableSec |
Si se establece, indica la última hora (en segundos desde el tiempo Unix) en que se puede cancelar este horario disponible específico a través de Reserva con Google. Este campo anulará cualquier regla de cancelación a nivel del servicio. (opcional) |
ConfirmationMode
Son los modos de confirmación que se utilizan al reservar espacios disponibles.
Enumeradores | |
---|---|
CONFIRMATION_MODE_UNSPECIFIED |
No se especificó el modo de confirmación. Se supondrá que rige la confirmación síncrona. |
CONFIRMATION_MODE_SYNCHRONOUS |
Las reservas de este espacio disponible se confirmarán de forma síncrona. |
CONFIRMATION_MODE_ASYNCHRONOUS |
Las reservas de este espacio disponible se confirmarán de forma asíncrona. |
Métodos |
|
---|---|
|
Reemplaza la disponibilidad (Availability ) de un servicio (Service ) existente de un comercio que administra el agregador especificado y la muestra. |