- Ресурс: Доступность
- Ресурсы
- Рецидив
- ScheduleException
- Предоплата
- Информация о ценах
- Ценовой диапазон
- Требования к продолжительности
- SchedulingRuleOverrides
- Режим подтверждения
- LinkoutRequiredReason
- Методы
Ресурс: Доступность
Указание на доступный временной интервал в услугах продавца, включая время и количество мест.
| JSON-представление |
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
| Поля | |
|---|---|
startTime | Время начала назначенного приема. Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
duration | Продолжительность сеанса приема Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « |
spotsTotal | Общее количество мест и количество свободных мест в рамках данной вакансии. Примеры:
Примечание: При отправке запросов с использованием формата сжатия доступности, определенного ниже, эти два поля будут определены автоматически.
|
spotsOpen | Количество свободных мест. |
availabilityTag | Необязательная непрозрачная строка для идентификации этого временного интервала доступности. Если она задана, то будет включена в запросы на бронирование/обновление/отмену записей на прием. |
resources | Дополнительные ресурсы используются для различения данного временного интервала доступности от других, когда в рамках обслуживания задействованы разные сотрудники или помещения. Например, один и тот же урок йоги с двумя инструкторами: |
paymentOptionId[] | Список идентификаторов, указывающих на способы оплаты, которые можно использовать для данного слота. Фактические способы оплаты определяются на уровне продавца и могут быть общими для нескольких продавцов. Это поле переопределяет любые payment_option_ids, указанные в сообщении сервиса. Аналогично, payment_option_ids, указанные здесь, НЕ обязательно должны присутствовать в сообщении сервиса, хотя их необходимо определить на уровне продавца. |
recurrence | Информация о периодичности доступности, включающая несколько времен начала. Периодичность должна содержать записи на один рабочий день. |
scheduleException[] | Времена, когда эту услугу невозможно запланировать. Чтобы ограничить количество сообщений scheduleException, рассмотрите возможность объединения смежных исключений. |
deposit | Внесение необязательного депозита за данную услугу. Заменяет собой депозит за услугу, если он был указан. |
noShowFee | Дополнительная плата за неявку, если таковая была указана, предоставляется по желанию. Отменяет плату за неявку, если таковая была предусмотрена. |
prepayment | Необязательно. Информация о предоплате за этот вариант размещения необязательна. |
requireCreditCard | Указывает, необходимо ли пользователю предоставить данные кредитной карты для бронирования данного временного интервала. Если значение не задано, оно наследуется из уровня обслуживания, если он там указан. (необязательно) |
ticketTypeId[] | Указывает список поддерживаемых типов заявок для данного временного интервала. Если поле не задано, для данного интервала доступны все типы заявок в родительской службе. Обратите внимание, что значения этого поля должны быть определены в родительской службе. Примеры:
Для отображения наличия билетов в будние дни:
Чтобы указать, что все три типа билетов доступны в этот временной интервал, используйте либо (необязательный) |
durationRequirement | Необходимо указать продолжительность и/или время окончания слота. Это поле будет проигнорировано, если слот недоступен. Не используется в разделе «Чем заняться». (необязательно) |
schedulingRuleOverrides | Правила планирования доступности. Если поля заполнены, они переопределят любые соответствующие правила планирования на уровне сервиса в разделе SchedulingRules. |
confirmationMode | Режим подтверждения, который будет использоваться при бронировании данного варианта размещения. Попытки создания бронирований для вариантов размещения с режимом подтверждения CONFIRMATION_MODE_SYNCHRONOUS должны быть немедленно подтверждены или отклонены. Попытки создания бронирований для вариантов размещения с режимом подтверждения CONFIRMATION_MODE_ASYNCHRONOUS должны быть либо немедленно отклонены, либо созданы со статусом PENDING (ожидание). |
linkoutRequiredReason | Необязательно. Причина, по которой для этого слота требуется ссылка. Если задано, ресурс продавца для этого слота должен иметь действительный шаблон ссылки (LinkoutTemplate). (необязательно) |
Ресурсы
Ресурс используется для различения доступных временных интервалов, когда в оказании услуги участвуют разные сотрудники или используются разные помещения. Несколько временных интервалов для одной и той же услуги и временного промежутка могут сосуществовать, если для них используются разные ресурсы.
| JSON-представление |
|---|
{
"staffId": string,
"staffName": string,
"roomId": string,
"roomName": string,
"partySize": integer,
"roomDescription": {
object ( |
| Поля | |
|---|---|
staffId | Необязательный идентификатор сотрудника, предоставляющего услугу. Это поле идентифицирует сотрудника во всех записях о продавцах, услугах и доступности. Оно также должно оставаться стабильным с течением времени, чтобы обеспечить корреляцию с предыдущими бронированиями. Это поле должно присутствовать, если присутствует поле staffName. |
staffName | Необязательное имя сотрудника, предоставляющего услугу. Это поле будет отображаться пользователям при бронировании и должно быть удобочитаемым, а не представлять собой непрозрачный идентификатор. Это поле должно присутствовать, если указан staffId. |
roomId | Необязательный идентификатор помещения, в котором находится услуга. Это поле идентифицирует помещение во всех записях о продавцах, услугах и доступности. Оно также должно оставаться стабильным с течением времени, чтобы обеспечить корреляцию с предыдущими бронированиями. Это поле должно присутствовать, если присутствует имя помещения (roomName). |
roomName | Необязательное название помещения, в котором находится услуга. Это поле будет отображаться пользователям при бронировании и должно быть удобочитаемым, а не представлять собой непрозрачный идентификатор. (необязательно, но обязательно, если присутствует roomId) В ресторанах название помещения следует использовать только для зон отдыха, таких как бар или терраса, и не следует использовать для меню с фиксированной ценой, специальных мероприятий или любых других значений, не связанных с номером (например, бронирование или ужин). Настоятельно рекомендуется, чтобы зона отдыха по умолчанию не была связана с конкретным помещением. |
partySize | Применимо только для заказа еды: количество человек, которое может быть размещено в течение этого временного интервала. Ресторан может быть связан с несколькими временными интервалами на одно и то же время, каждый из которых указывает разное количество человек, например, 2, 3 или 4 человека, которые могут быть размещены по бронированию. |
roomDescription | Необязательно. Локализованное описание номера. Если задано, необходимо указать значение по умолчанию. Желательно также указать распространенные языки для региона продавца. (необязательно) |
Рецидив
Сообщения о повторении являются необязательными, но позволяют более компактно представить постоянно повторяющиеся временные интервалы доступности. Обычно они отражают рабочее расписание на день. Сообщения ScheduleException затем используются для обозначения забронированных/недоступных временных диапазонов в течение рабочего дня.
Требования:
- Расширение доступных временных интервалов или периодов повторения НЕ должно приводить к созданию идентичных интервалов. Если идентификаторы, время начала, продолжительность и ресурсы совпадают, интервалы считаются идентичными.
- Не следует смешивать стандартный формат доступности и формат с регулярным посещением в рамках одной услуги. Формат с регулярным посещением выгоден продавцам/сервисам, предлагающим запись на прием. Стандартный формат ориентирован на продавцов/сервисы, предлагающие регулярные занятия.
- Продолжительность рецидивов не должна превышать 24 часов.
| JSON-представление |
|---|
{ "repeatUntil": string, "repeatEvery": string } |
| Поля | |
|---|---|
repeatUntil | Максимальное время доступности, включая временную метку UTC, будет повторяться до тех пор, пока... Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
repeatEvery | Определяет интервал времени между последовательными временными интервалами доступности. Пример: Если задать доступное время продолжительностью 20 минут, период повтора 30 минут, время начала 9:00 и период повтора до 11:00, то будут доступны временные интервалы с 9:00 до 9:20, с 9:30 до 9:50, с 10:00 до 10:20, с 10:30 до 10:50, с 11:00 до 11:20. (обязательно) Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « |
ScheduleException
Сообщения ScheduleException представляют собой забронированные/недоступные временные интервалы в течение рабочего дня, которые являются исключениями из описанного выше правила повторения. По мере бронирования временных интервалов список исключений следует обновлять, чтобы отразить вновь появившиеся недоступные временные интервалы. Само правило повторения изменять не следует.
| JSON-представление |
|---|
{
"timeRange": {
object ( |
| Поля | |
|---|---|
timeRange | Временной диапазон исключения. Любые временные интервалы, описываемые повторяющимся событием, которые перекрывают этот закрытый-открытый временной диапазон, будут считаться недоступными. Пример: Если в задании на повторение указана продолжительность 20 мин, параметр repeatEvery 30 мин, startTime 9:00 и repeatUntil 11:00, то исключение ScheduleException с timeRange 9:45-11:00 сделает недоступными временные интервалы 9:30-9:50, 10:00-10:20 и 10:30-10:50. Обратите внимание, что поскольку временной диапазон является закрытым/открытым, это не повлияет на временной интервал, начинающийся в 11:00. |
Предоплата
С пользователя может взиматься плата в рамках бронирования.
| JSON-представление |
|---|
{
"priceInfo": {
object ( |
| Поля | |
|---|---|
priceInfo | Контейнер для указания цены. |
Информация о ценах
Контейнер для указания цены.
| JSON-представление |
|---|
{ "priceType": enum ( |
| Поля | |
|---|---|
priceType | Определяет способ применения цены или ценового диапазона (на человека или фиксированная цена). |
Поле объединения price_options . Параметры цены позволяют указать либо точную цену, либо диапазон. price_options может принимать только одно из следующих значений: | |
price | Цена услуги или плата. |
priceRange | Верхний и/или нижний предел стоимости услуги или платы. |
Ценовой диапазон
Оболочка для диапазона денежных сумм, рассматриваемых как неограниченные, если не заданы оба значения. Требуется как минимум одно из значений minAmount или maxAmount.
| JSON-представление |
|---|
{ "minPrice": { object ( |
| Поля | |
|---|---|
minPrice | Минимальная сумма. |
maxPrice | Максимальная сумма. Всегда должна быть больше минимальной цены. |
Требования к продолжительности
Этот перечень указывает, какие требования предъявляются к пользователю для подтверждения или просмотра запрошенной продолжительности/времени окончания временных интервалов.
| Перечисления | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED | Обработка времени окончания не указана. Это значение по умолчанию. |
DO_NOT_SHOW_DURATION | Время окончания не отображается пользователю. |
MUST_SHOW_DURATION | Перед тем как записаться на прием, пользователю необходимо показать время окончания. |
SchedulingRuleOverrides
Правила планирования на основе уровня доступности.
| JSON-представление |
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
| Поля | |
|---|---|
lastBookableSec | Последнее время (в секундах), когда этот слот можно было забронировать. Эта метка времени должна быть до startSec слота, чтобы ее учитывать (если пользователи должны иметь возможность бронировать после времени начала, используйте SchedulingRules.min_booking_before_end_time уровня сервиса). Если присутствует, переопределит все, что указано в min_booking_buffer правил SchedulingRules соответствующего сервиса. |
firstBookableSec | Первое время (в секундах), когда этот слот можно забронировать. Эта временная метка должна быть раньше startSec слота или lastBookableSec, если указано. |
lastOnlineCancellableSec | Если задано, указывается последнее время (в секундах с начала эпохи Unix), когда этот конкретный слот для записи можно отменить через функцию «Зарезервировать с помощью Google». Это поле переопределяет любые правила отмены на уровне сервиса. (необязательно) |
Режим подтверждения
Способы подтверждения, используемые при бронировании доступности.
| Перечисления | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED | Режим подтверждения не указан. Будет предполагаться синхронное подтверждение. |
CONFIRMATION_MODE_SYNCHRONOUS | Бронирование на этот период будет подтверждено синхронно. |
CONFIRMATION_MODE_ASYNCHRONOUS | Бронирование на этот период будет подтверждаться в асинхронном режиме. |
LinkoutRequiredReason
Причина, по которой в слоте присутствует эффект "связного взаимодействия".
| Перечисления | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED | Значение по умолчанию: Не использовать, соответствует неизвестному значению. |
PAYMENT_REQUIRED | Для бронирования слота необходима оплата на партнерской платформе. |
Методы | |
|---|---|
| Заменяет Availability существующей Service продавца, управляемой указанным агрегатором, и возвращает её. |