Авторизация
Учётная запись Hallify не требуется. Соблюдайте предварительные условия и ограничения этого метода.
Руководство по подключениюПараметры
publicHandleПуть · ОбязательноНепрозрачный публичный идентификатор канала для поиска опубликованной гостевой конфигурации одного заведения. Не является ключом доступа.
stringПолное определение
{ "type": "string", "example": "example" }originЗаголовок · ОбязательноOrigin браузера проверяется по разрешённым источникам публичного канала. Отсутствующий или запрещённый Origin отклоняется без раскрытия закрытой конфигурации заведения.
stringПолное определение
{ "type": "string", "example": "example" }
Ответы
200Возвращает конфигурацию публичного канала бронирования без закрытых данных заведения.
Полное определение
{
"$ref": "#/components/schemas/ReservationPublicConfigResultDto"
}{
"publicHandle": "example",
"venue": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
},
"termsVersion": "example",
"privacyVersion": "example",
"waitlistStatus": "CLOSED",
"servicePeriods": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}Схемы
ReservationPublicConfigResultDto
Публичная конфигурация бронирования с данными, безопасными для гостя.
publicHandleОбязательноПубличный идентификатор канала бронирования.
stringПолное определение
{ "type": "string", "description": "Публичный идентификатор канала бронирования.", "example": "example" }venueОбязательноПубличные сведения о заведении и часовой пояс расписания.
objectПолное определение
{ "type": "object", "description": "Публичные сведения о заведении и часовой пояс расписания.", "required": [ "id", "name", "timeZone" ], "properties": { "id": { "type": "string", "description": "Идентификатор заведения.", "format": "uuid", "example": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0" }, "name": { "type": "string", "description": "Отображаемое название заведения.", "example": "Example name" }, "timeZone": { "type": "string", "description": "Часовой пояс IANA для расписания бронирований.", "example": "Asia/Tbilisi" } }, "example": { "id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0", "name": "Example name", "timeZone": "Asia/Tbilisi" } }termsVersionОбязательноВерсия условий, которую необходимо принять для нового бронирования.
stringПолное определение
{ "type": "string", "description": "Версия условий, которую необходимо принять для нового бронирования.", "example": "example" }privacyVersionОбязательноВерсия уведомления о персональных данных, которую необходимо принять для нового бронирования.
stringПолное определение
{ "type": "string", "description": "Версия уведомления о персональных данных, которую необходимо принять для нового бронирования.", "example": "example" }waitlistStatusОбязательноДействующая доступность листа ожидания после истечения запланированной паузы.
stringПолное определение
{ "type": "string", "description": "Действующая доступность листа ожидания после истечения запланированной паузы.", "enum": [ "CLOSED", "OPEN", "PAUSED" ], "example": "CLOSED" }servicePeriodsОбязательноАктивные публичные периоды обслуживания.
arrayПолное определение
{ "type": "array", "description": "Активные публичные периоды обслуживания.", "items": { "type": "object", "description": "Доступное гостю представление периода обслуживания для бронирования.", "required": [ "id", "name", "dayOfWeek", "startsAtMinute", "endsAtMinute", "slotIntervalMinutes", "maxPartySize", "bookingMode" ], "properties": { "id": { "type": "string", "description": "Идентификатор периода обслуживания.", "format": "uuid", "example": "b926f345-3866-4e0a-8870-720a7d6d91be" }, "name": { "type": "string", "description": "Название периода обслуживания, показываемое гостю.", "example": "Example name" }, "dayOfWeek": { "type": "integer", "description": "Повторяющийся день недели по местному времени заведения.", "example": 0 }, "startsAtMinute": { "type": "integer", "description": "Местное время открытия в минутах после полуночи.", "example": 0 }, "endsAtMinute": { "type": "integer", "description": "Местное время закрытия в минутах после полуночи.", "example": 0 }, "slotIntervalMinutes": { "type": "integer", "description": "Интервал в минутах между предлагаемыми временами начала.", "example": 0 }, "maxPartySize": { "type": "integer", "description": "Максимальное количество гостей для бронирования.", "example": 0 }, "bookingMode": { "type": "string", "description": "Подтверждается ли бронирование сразу или требует проверки.", "enum": [ "INSTANT", "REQUEST" ], "example": "INSTANT" } }, "example": { "id": "b926f345-3866-4e0a-8870-720a7d6d91be", "name": "Example name", "dayOfWeek": 0, "startsAtMinute": 0, "endsAtMinute": 0, "slotIntervalMinutes": 0, "maxPartySize": 0, "bookingMode": "INSTANT" } }, "example": [ { "id": "b926f345-3866-4e0a-8870-720a7d6d91be", "name": "Example name", "dayOfWeek": 0, "startsAtMinute": 0, "endsAtMinute": 0, "slotIntervalMinutes": 0, "maxPartySize": 0, "bookingMode": "INSTANT" } ] }
Полное определение
{
"type": "object",
"description": "Публичная конфигурация бронирования с данными, безопасными для гостя.",
"required": [
"publicHandle",
"venue",
"termsVersion",
"privacyVersion",
"waitlistStatus",
"servicePeriods"
],
"properties": {
"publicHandle": {
"type": "string",
"description": "Публичный идентификатор канала бронирования.",
"example": "example"
},
"venue": {
"type": "object",
"description": "Публичные сведения о заведении и часовой пояс расписания.",
"required": [
"id",
"name",
"timeZone"
],
"properties": {
"id": {
"type": "string",
"description": "Идентификатор заведения.",
"format": "uuid",
"example": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0"
},
"name": {
"type": "string",
"description": "Отображаемое название заведения.",
"example": "Example name"
},
"timeZone": {
"type": "string",
"description": "Часовой пояс IANA для расписания бронирований.",
"example": "Asia/Tbilisi"
}
},
"example": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
}
},
"termsVersion": {
"type": "string",
"description": "Версия условий, которую необходимо принять для нового бронирования.",
"example": "example"
},
"privacyVersion": {
"type": "string",
"description": "Версия уведомления о персональных данных, которую необходимо принять для нового бронирования.",
"example": "example"
},
"waitlistStatus": {
"type": "string",
"description": "Действующая доступность листа ожидания после истечения запланированной паузы.",
"enum": [
"CLOSED",
"OPEN",
"PAUSED"
],
"example": "CLOSED"
},
"servicePeriods": {
"type": "array",
"description": "Активные публичные периоды обслуживания.",
"items": {
"type": "object",
"description": "Доступное гостю представление периода обслуживания для бронирования.",
"required": [
"id",
"name",
"dayOfWeek",
"startsAtMinute",
"endsAtMinute",
"slotIntervalMinutes",
"maxPartySize",
"bookingMode"
],
"properties": {
"id": {
"type": "string",
"description": "Идентификатор периода обслуживания.",
"format": "uuid",
"example": "b926f345-3866-4e0a-8870-720a7d6d91be"
},
"name": {
"type": "string",
"description": "Название периода обслуживания, показываемое гостю.",
"example": "Example name"
},
"dayOfWeek": {
"type": "integer",
"description": "Повторяющийся день недели по местному времени заведения.",
"example": 0
},
"startsAtMinute": {
"type": "integer",
"description": "Местное время открытия в минутах после полуночи.",
"example": 0
},
"endsAtMinute": {
"type": "integer",
"description": "Местное время закрытия в минутах после полуночи.",
"example": 0
},
"slotIntervalMinutes": {
"type": "integer",
"description": "Интервал в минутах между предлагаемыми временами начала.",
"example": 0
},
"maxPartySize": {
"type": "integer",
"description": "Максимальное количество гостей для бронирования.",
"example": 0
},
"bookingMode": {
"type": "string",
"description": "Подтверждается ли бронирование сразу или требует проверки.",
"enum": [
"INSTANT",
"REQUEST"
],
"example": "INSTANT"
}
},
"example": {
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
},
"example": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}
},
"example": {
"publicHandle": "example",
"venue": {
"id": "fbc6db41-f1c2-4f74-862d-210bd28ee2a0",
"name": "Example name",
"timeZone": "Asia/Tbilisi"
},
"termsVersion": "example",
"privacyVersion": "example",
"waitlistStatus": "CLOSED",
"servicePeriods": [
{
"id": "b926f345-3866-4e0a-8870-720a7d6d91be",
"name": "Example name",
"dayOfWeek": 0,
"startsAtMinute": 0,
"endsAtMinute": 0,
"slotIntervalMinutes": 0,
"maxPartySize": 0,
"bookingMode": "INSTANT"
}
]
}
}