- Ресурс: Наличие
- Ресурсы
- Повторение
- РасписаниеИсключение
- ПродолжительностьТребование
- ПланированиеRuleOverrides
- Режим подтверждения
- Методы
Ресурс: Наличие
Слот доступности сервиса продавца с указанием времени и количества мест.
JSON-представление |
---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
Поля | |
---|---|
startTime | Время начала интервала встречи. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
duration | Продолжительность интервала встречи Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « |
spotsTotal | Общее количество мест и открытых мест данного наличия. Примеры:
Примечание. При отправке запросов с использованием формата сжатия доступности, определенного ниже, будут выведены эти два поля.
|
spotsOpen | Количество открытых мест. |
availabilityTag | Необязательная непрозрачная строка для идентификации этого слота доступности. Если установлено, оно будет включено в запросы на бронирование/обновление/отмену встреч. |
resources | Дополнительные ресурсы, используемые для устранения неоднозначности этого интервала доступности среди других, когда разные сотрудники или помещения являются частью службы. Например, один и тот же урок йоги с двумя инструкторами:
|
paymentOptionId[] | Список идентификаторов, ссылающихся на варианты оплаты, которые можно использовать для оплаты этого слота. Фактические варианты оплаты определяются на уровне продавца, а также могут использоваться несколькими продавцами. Это поле переопределяет любые идентификаторы pay_option_ids, указанные в служебном сообщении. Аналогичным образом, указанные здесь идентификаторы pay_option_ids НЕ обязательно должны присутствовать в служебном сообщении, хотя они должны быть определены на уровне продавца. |
recurrence | Информация о повторении доступности, представляющая более одного времени начала. Повторение должно содержать записи на один рабочий день. |
scheduleException[] | Времена, когда эту услугу нельзя запланировать. Чтобы ограничить количество сообщений ScheduleException, рассмотрите возможность объединения соседних исключений. |
deposit | Дополнительный залог за это наличие. Переопределяет депозит за обслуживание, если он был указан. |
noShowFee | Дополнительная плата за незаезд при наличии возможности. Отменяет плату за неявку за услугу, если она была указана. |
requireCreditCard | Указывает, должен ли пользователь предоставить кредитную карту, чтобы забронировать этот слот доступности. Если значение не установлено, оно наследуется от уровня обслуживания, если оно там установлено. (необязательный) |
ticketTypeId[] | Указывает список поддерживаемых типов билетов для этого слота доступности. Если значение не установлено, для этого слота доступны все типы билетов родительской службы. Обратите внимание, что значения этого поля должны быть определены в родительском сервисе. Примеры:
Чтобы представить инвентарь в будние дни:
Чтобы указать, что все три типа билетов доступны для этого временного интервала, используйте либо (необязательный) |
durationRequirement | Требование показывать продолжительность и/или время окончания слотов. Это поле будет игнорироваться, если слот недоступен. Не используется в вертикали «Что нужно сделать». (необязательный) |
schedulingRuleOverrides | Правила планирования доступности. Если поля заполнены, они переопределяют любые соответствующие правила планирования в SchedulingRules уровня службы. |
confirmationMode | Режим подтверждения, который будет использоваться при бронировании этой доступности. Попытки создать бронирования для наличия мест с режимом подтверждения CONFIRMATION_MODE_SYNCHRONOUS должны быть немедленно подтверждены или отклонены. Попытки создать бронирования для наличия мест с режимом подтверждения CONFIRMATION_MODE_ASYNCHRONOUS должны быть либо немедленно отклонены, либо созданы со статусом ОЖИДАНИЕ. |
Ресурсы
Ресурс используется для устранения неоднозначности слотов доступности друг от друга, когда разные сотрудники или помещения являются частью услуги. Несколько слотов для одной и той же услуги и временного интервала могут сосуществовать, если они имеют разные ресурсы.
JSON-представление |
---|
{ "staffId": string, "staffName": string, "roomId": string, "roomName": string, "partySize": integer } |
Поля | |
---|---|
staffId | Необязательный идентификатор сотрудника, предоставляющего услугу. В этом поле идентифицируется сотрудник во всех записях продавцов, услуг и доступности. Он также должен быть стабильным во времени, чтобы обеспечить корреляцию с прошлыми бронированиями. Это поле должно присутствовать, если присутствует StaffName. |
staffName | Необязательное имя сотрудника, предоставляющего услугу. Это поле будет отображаться для пользователей, совершающих бронирование, и должно быть удобочитаемым, а не непрозрачным идентификатором. Это поле должно присутствовать, если присутствует StaffId. |
roomId | Необязательный идентификатор комнаты, в которой находится услуга. Это поле идентифицирует комнату во всех записях продавцов, услуг и доступности. Он также должен быть стабильным во времени, чтобы обеспечить корреляцию с прошлыми бронированиями. Это поле должно присутствовать, если присутствует значение roomName. |
roomName | Необязательное название комнаты, в которой расположена услуга. Это поле будет отображаться для пользователей, совершающих бронирование, и должно быть удобочитаемым, а не непрозрачным идентификатором. (необязательно, но обязательно, если присутствует roomId) В столовой название зала следует использовать только для зон отдыха, таких как бар или патио, и не следует использовать для меню с фиксированной ценой, специальных мероприятий или любых других значений, не связанных с комнатой (например, бронирование или ужин). Настоятельно рекомендуется, чтобы зона отдыха по умолчанию не имела связанной с ней комнаты. |
partySize | Применимо только для ужина: размер вечеринки, который может разместиться в течение этого временного интервала. Ресторан может быть одновременно связан с несколькими слотами, в каждом из которых указан разный размер вечеринки, если, например, при бронировании могут разместиться 2, 3 или 4 человека. |
Повторение
Сообщения о повторении не являются обязательными, но позволяют более компактно представить постоянно повторяющиеся интервалы доступности. Обычно они представляют собой рабочий график дня. Сообщения ScheduleException затем используются для представления зарезервированных/недоступных диапазонов времени в течение рабочего дня.
Требования:
- Расширение слотов доступности или повторений НЕ должно создавать идентичные слоты. Если идентификаторы, startTime, продолжительность и ресурсы совпадают, слоты считаются идентичными.
- НЕ смешивайте стандартный формат доступности и повторяемость в слотах одной услуги. Повторение приносит пользу продавцам/службам, которые предлагают встречи. Стандартный формат ориентирован на продавцов/услуги с регулярными занятиями.
- Рецидивы не должны длиться более 24 часов.
JSON-представление |
---|
{ "repeatUntil": string, "repeatEvery": string } |
Поля | |
---|---|
repeatUntil | Включающая максимальная временная метка UTC, до которой доступность будет повторяться. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
repeatEvery | Определяет время между последовательными интервалами доступности. Пример. Доступность с продолжительностью 20 минут, повтор каждые 30 минут, время начала 9:00 и повторение до 11:00 дадут слоты на 9–9:20, 9:30–9:50, 10. -10:20, 10:30-10:50, 11-11:20. (необходимый) Продолжительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « |
РасписаниеИсключение
Сообщения ScheduleException представляют собой зарезервированные/недоступные диапазоны времени в течение рабочего дня, которые являются исключениями из описанного выше повторения. По мере резервирования временных интервалов список исключений следует обновлять, чтобы отразить новые недоступные временные диапазоны. Само повторение не должно изменяться.
JSON-представление |
---|
{
"timeRange": {
object ( |
Поля | |
---|---|
timeRange | Временной диапазон исключения. Любые слоты, описанные повторением, которые перекрывают этот диапазон времени закрытия-открытия, будут считаться недоступными. Пример. Если для повторения указана продолжительность 20 минут, повторение каждые 30 минут, время начала 9:00 утра и повторение до 11:00, то исключение ScheduleException с диапазоном времени 9:45–11:00 сделает недоступным слоты с 9:30 до 9:50, с 10 до 10:20 и с 10:30 до 10:50. Обратите внимание: поскольку временной диапазон закрыт-открыт, интервал, начинающийся в 11 утра, не будет затронут. |
ПродолжительностьТребование
Это перечисление указывает, какие требования существуют для пользователя для подтверждения или просмотра продолжительности/времени окончания запрошенных интервалов.
Перечисления | |
---|---|
DURATION_REQUIREMENT_UNSPECIFIED | Обработка времени окончания не указана. Это значение по умолчанию. |
DO_NOT_SHOW_DURATION | Время окончания не отображается пользователю. |
MUST_SHOW_DURATION | Время окончания должно быть показано пользователю, прежде чем можно будет назначить встречу. |
ПланированиеRuleOverrides
Правила планирования уровня доступности.
JSON-представление |
---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
Поля | |
---|---|
lastBookableSec | Последний раз (в секундах), когда этот слот можно зарезервировать. Эта временная метка должна быть до startSec интервала, который необходимо учитывать (если пользователи должны иметь возможность бронировать после времени начала, используйте уровень обслуживания SchedulingRules.min_booking_before_end_time). Если он присутствует, он переопределит все, указанное в min_booking_buffer правил планирования соответствующей службы. |
firstBookableSec | Первый раз (в секундах), когда этот слот можно зарезервировать. Эта временная метка должна быть до startSec слота или LastBookableSec, если указано. |
lastOnlineCancellableSec | Если установлено, это последний раз (в секундах с эпохи Unix), когда этот конкретный интервал встречи можно отменить с помощью функции «Зарезервировать в Google». Это поле будет иметь приоритет над любыми правилами отмены на уровне обслуживания. (необязательный) |
Режим подтверждения
Режимы подтверждения, используемые при бронировании мест.
Перечисления | |
---|---|
CONFIRMATION_MODE_UNSPECIFIED | Не указан режим подтверждения. Предполагается синхронное подтверждение. |
CONFIRMATION_MODE_SYNCHRONOUS | Бронирование на эту доступность будет подтверждено синхронно. |
CONFIRMATION_MODE_ASYNCHRONOUS | Бронирование на эту доступность будет подтверждено асинхронно. |
Методы | |
---|---|
| Заменяет Availability существующего Service мерчанта, управляемого указанным агрегатором, и возвращает его. |