Перейти к основному содержимому

Типы событий

Структура сообщения

Уведомления отправляются пакетами до 1000 событий как JSON массив объектов фиксированной структуры.

Пример:

[
{
"eventId": "01952268-cd6e-73ce-afbf-c4e5f1cd8d7d",
"eventType": "webpms:check_in",
"creationTime": "2025-02-20T08:07:47.1234567Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}
]

Отправка событий происходит в порядке их создания - сначала самые старые.

payload — JSON-объект; его структура определяется типом события eventType. Персональные данные в payload не допускаются.

Типы событий

События различаются по типам. У идентификатора типа есть префикс - идентификатор модуля (API). В настоящее время события публикуют модули TL: WebPMS и Интеграция с АСУ.

TL: WebPMS - Брони

ИмяОписание
webpms:create_bookingСоздание брони
webpms:cancel_bookingОтмена брони
webpms:change_roomИзменение номера проживания
webpms:add_room_group_bookingДобавление проживания в групповую бронь
webpms:delete_room_group_bookingУдаление проживания из групповой брони

TL: WebPMS - Заезды

ИмяОписание
webpms:check_inЗаезд
webpms:check_outВыезд
webpms:cancel_check_inОтмена заезда
webpms:cancel_check_outОтмена выезда
webpms:change_check_in_datetimeИзменение даты и времени заезда
webpms:change_check_out_datetimeИзменение даты и времени выезда

Интеграция с АСУ - Синхронизация

ИмяОписание
pms_integration_storage:booking_changedСоздание/изменение бронирования, созданного во внешней АСУ
pms_integration_storage:inventory_changedИзменение доступности номеров во внешней АСУ
pms_integration_storage:inventory_block_changedСоздание/изменение блока доступности, созданного во внешней АСУ

Примеры payload по типам событий

Ниже приведены примеры одного события (элемент массива) для каждого eventType из списка выше.

TL: WebPMS - Брони

webpms:create_booking

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:create_booking",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:cancel_booking

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:cancel_booking",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:change_room

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:change_room",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:add_room_group_booking

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:add_room_group_booking",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:delete_room_group_booking

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:delete_room_group_booking",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

TL: WebPMS - Заезды

webpms:check_in

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:check_in",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:check_out

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:check_out",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:cancel_check_in

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:cancel_check_in",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:cancel_check_out

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:cancel_check_out",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:change_check_in_datetime

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:change_check_in_datetime",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

webpms:change_check_out_datetime

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "webpms:change_check_out_datetime",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"BookingNumber": "2026b319-64372-421894386",
"PropertyId": "64372"
}
}

Интеграция с АСУ - Синхронизация

pms_integration_storage:booking_changed

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "pms_integration_storage:booking_changed",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"propertyId": "2490",
"reservationId": "606541"
}
}

Значение reservationId используется как bookingId в GET /v1/properties/{propertyId}/bookings/{bookingId}.

pms_integration_storage:inventory_changed

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "pms_integration_storage:inventory_changed",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"propertyId": "2490",
"roomTypeCodes": ["DBL", "SGL"],
"startDate": "2026-03-15",
"endDate": "2026-03-20"
}
}

Для получения актуального инвентаря используется POST /v1/properties/{propertyId}/inventories/search с теми же roomTypeCodes и диапазоном дат.

pms_integration_storage:inventory_block_changed

{
"eventId": "e09a9f4b-e44e-46b7-a18a-0e977c0d442e",
"eventType": "pms_integration_storage:inventory_block_changed",
"creationTime": "2026-03-20T14:36:16.407Z",
"payload": {
"propertyId": "2490",
"inventoryBlockId": "12345"
}
}

Для получения блока используется GET /v1/properties/{propertyId}/inventories/blocks/{inventoryBlockId}.