API Сервис Booking Service
Содержание
- 1 Введение
- 2 Установка и настройка
- 3 Описание методов
- 4 Admin
- 4.1 Регистрация агента (SendAgentRegistration)
- 4.2 Получение данных партнера (GetAgentParams)
- 4.3 Редактирование партнера (SaveAgentParams)
- 4.4 Аутентификация (Auth)
- 4.5 Получение разрешений (GetMyActions)
- 4.6 Получение параметров авторизованного лица (GetAuth)
- 4.7 Пполучение списка пользователей онлайн (GetWebUsers)
- 4.8 Получение данных об онлайн пользователях (GetPersonParams)
- 4.9 Редактирование онлайн пользователей (SavePersonParams)
- 4.10 Удаление онлайн пользователей (DeleteWebUser)
- 4.11 Получение типов наценок (GetMarkupTypes)
- 4.12 Получение наценок (GetMarkups)
- 4.13 Получение редактируемых параметров наценок (GetMarkupEditParams)
- 4.14 Редактирование параметров наценок (SaveMarkupEditParams)
- 4.15 Удаление наценок (DeleteMarkup)
- 4.16 Получение дополнительных параметров партнера (GetPartnerExtras)
- 4.17 Редактирование дополнительных параметров партнера (SavePartnerExtras)
- 4.18 Получение настроек платежей (GetPayments)
- 5 Booking
- 5.1 Бронирование путевки (Createreservation)
- 5.2 Бронирование путевки расширенное (CreateReservationNew)
- 5.3 Получение информации о забронированной путевке (GetReservation)
- 5.4 Получение информации о забронированной путевке расширенное (GetReservationNew)
- 5.5 Получение файлов (GetFileData)
- 5.6 Получение заявок по датам прибытия (GetArrivalsByDate)
- 5.7 Получение заявок по датам отбытия (GetDeparturesByDate)
- 5.8 Аннуляция путевок (CancelReservation)
- 5.9 Аннуляция путевок с расширенной информацией (CancelReservationExtended)
- 5.10 Получение заявок по датам (GetReservationsFrom)
- 5.11 Получение заявок, расширенная (GetReservations)
- 5.12 Получение фильтров для экрана заявок (GetReservationsFilters)
- 5.13 Получение параметров услуг (GetChangingServiceParams)
- 5.14 Проверка измененных параметров услуг (CheckChangingServiceParams)
- 5.15 Изменение параметров услуг (SaveChangingServiceParams)
- 5.16 Объединение правил оплаты (MergePaymentPolicy)
- 5.17 Создание сообщений по заявке (CreateReservationMessage)
Введение
Booking Service предоставляет API для управления бронированиями и взаимодействия с уже созданными заявками. Сервис позволяет: получение/создание/изменение/аннуляция заявок, управление пользователями и параметрами агентов, работу с доп. услугами, трансферами и отчетами. Для работы сервиса необходимо установить службу Windows.
Установка и настройка
Перед установкой API необходимо настроить конфигурационный файл appsettings.json.
- Подключение к базе данных ПК «Мастер-Interlook»:
{
"ConnectionParameters": {
"MainDatabase": {
"databaseType": 1, - тип используемой базы данных: 1 - MSSQL, 2 - PostgreSQL (пока не реализовано)
"server": "", - адрес SQL-сервера
"database": "", - название БД Interlook
"user": "", - логин пользователя БД
"password": "", - пароль пользователя БД (заполнить)
"appName": "Interlook_BookingService_VKE" - имя приложения при подключении к SQL-серверу
},
"ExtraDatabases": [] - список дополнительных баз (если используются)
},
- JWT-аутентификация сервиса:
JWT-аутентификация сервиса:
"Jwt": {
"Key": "", - секретный ключ шифрования, который формируется пользователем
"TokenValidityInMinutes": 2 - время жизни токена в минутах
},
- Подключение к удалённым сервисам:
"RemoteServices": {
"GDSIncomingServiceUrl": "http://localhost:7709", - адрес сервиса входящих запросов GDS
"CalculateServiceUrl": "http://localhost:7701" - адрес сервиса расчётов
},
- Режимы работы сервиса:
"UseCalculateRemote": true, - использовать ли расчет удаленно, если true - работает через внешний сервис(searth service), если false - работает через внутренюю логику.
"UseMainCache": false - загружать свой кэш или нет (если UseCalculateRemote не включена, то будет считать через БД иначе через кэш) , по умолчанию false
- Ограничители:
"Restrictions": {
"IsAlwaysConfirmed": false – Управляет подменой статусов для внешней системы (ВС).
// При true — включена нормализация статусов при отдаче во внешнюю систему:
// Confimed, WaitingConfirmation, Wait -> confirmed
// NotConfirmed, Canceled, Cancel -> cancelled
// WaitingCancellation -> pending
// При false — статусы отдаются «как есть»: Wait, Confimed, Cancel, NotConfirmed, WaitingCancellation
},
- Логирование работы сервиса:
"Logger": {
"EnableConsole": false, - вывод логов в консоль (для режима приложения)
"EnableFile": true, - запись логов в файл
"FilePath": "", - путь к каталогу логов
"MaxLogFileSize": 10, - максимальный размер файла логов (МБ)
"MaxOldLogFilesCount": 30, - максимальное количество файлов логов
"EnableLogService": false, - запись логов через сервис логирования
"LogServiceAddress": "" - адрес сервиса логирования
},
- Параметры установки/запуска сервиса:
"Install": {
"ServiceName": "Interlook_BookingService_VKE", - имя службы Windows
"ServiceAddress": [ "http://*:7070/booking" ], - адрес/порт, на котором доступен сервис
"IPAddress": "IPAddress.IPv6Any", - IP-привязка
"GRPCPort": 7071, - порт gRPC
"HttpsCertificate": {
"CertFile": "", - путь к файлу сертификата (если используется HTTPS)
"CertPassword": "", - пароль сертификата
"CertHost": "", - хост, на который выдан сертификат
"CertHash": "", - отпечаток (thumbprint) сертификата
"CertStoreLocation": "LocalMachine" - расположение хранилища сертификатов (CurrentUser/LocalMachine)
}
},
- Доступность из внешних сетей:
"AllowedHosts": "megatec.ru;*.megatec.ru" - строка с хостами, разделёнными точкой с запятой, "*" — разрешать любой Host
Описание методов
Admin
Регистрация агента (SendAgentRegistration)
Метод: POST /booking/SendAgentRegistration
- Формат запроса:
- Принимаемые параметры (Request body):
- companyName – название компании
- agencyName – имя агентства
- countryName – название страны
- cityName – название города
- zipCode – почтовый индекс
- address – адрес
- id – идентификатор
- license – лицензия
- vat – номер VAT
- phones – телефоны
- email – электронная почта
- contactPersonName – контактное лицо
- comment – комментарий
Возвращаемый результат: Возвращаемый результат:
- isOk – общий признак успешности обработки запроса: может быть true (успех) или false (ошибка)
- hasSuccess – признак наличия успешно обработанных адресатов/операций: может быть true или false
- errors – массив ошибок (если они были)
- title – заголовок/идентификатор ошибки (например, адрес e-mail)
- errorMessage – текст ошибки/исключения
- success – массив успешно обработанных адресатов/значений (например, список e-mail, куда отправлено уведомление)
|
Вызов метода /booking/SendAgentRegistration POST http://localhost:7700/booking/SendAgentRegistration
{
"companyName": "string",
"agencyName": "string",
"countryName": "string",
"cityName": "string",
"zipCode": "string",
"address": "string",
"id": "string",
"license": "string",
"vat": "string",
"phones": "string",
"email": "string",
"contactPersonName": "string",
"comment": "string"
}
Возвращаемый результат: {
"isOk": true,
"hasSuccess": true,
"errors": [],
"success": [ "perlov@megatec.ru" ]
}
Возвращаемый результат (ошибка):
{
"isOk": false,
"hasSuccess": false,
"errors": [
{
"title": "stamsvam@gmail.com",
"errorMessage": "Error sending to mailing addresses (stamsvam@gmail.com): System.Net.Mail.SmtpException: Bad sequence of commands. The server response was: 5.5.4 Error: send AUTH command first. 1759681423-hNm8OHdMGqM0-uauNKH69\r\n at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)\r\n at System.Net.Mail.MailCommand.EndSend(IAsyncResult result)\r\n at System.Net.Mail.SendMailAsyncResult.SendMailFromCompleted(IAsyncResult result)\r\n--- End of stack trace from previous location ---\r\n at System.Net.Mail.SendMailAsyncResult.End(IAsyncResult result)\r\n at System.Net.Mail.SmtpClient.SendMailCallback(IAsyncResult result)\r\n--- End of stack trace from previous location ---\r\n at Megatec.Interlook.DataModel.Mail.Account.SendMessage(MailMessage mailMessage)\r\n at Megatec.Interlook.MailLayer.MailManager.SendMail(String msg, String subject, IEnumerable`1 addressees, Boolean isHtml, IEnumerable`1 attachments, Int32 action)"
}
],
"success": []
}
|
Получение данных партнера (GetAgentParams)
Метод: GET /booking/GetAgentParams
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат:
- key – уникальный идентификатор
- name – название
- address – адрес
- phones – телефоны
- email – электронная почта
- webSite – URL сайта
- webName – название сайта
- logoIcon – логотип
- key – идентификатор файла логотипа
- name – имя файла с расширением
- size – размер
- data – дата добавления
- compressed – размер логотипа
- mime – MIME‑тип файла (например, image/png)
- type – формат файла
- originalType – исходный тип файла
|
Вызов метода /booking/GetAgentParams GET http://localhost:7700/booking/GetAgentParams
Возвращаемый результат:
<syntaxhighlight lang="java" enclose="div">
{
"key": 0,
"name": "string",
"address": "string",
"phones": "string",
"email": "string",
"webSite": "string",
"webName": "string",
"logoIcon": {
"key": 0,
"name": "string",
"size": 0,
"data": "string",
"compressed": false,
"mime": "string",
"type": "string",
"originalType": "string"
}
}
|
Редактирование партнера (SaveAgentParams)
Метод: PUT /booking/SaveAgentParams
- Формат запроса:
- Принимаемые параметры (Request body):
- key – уникальный идентификатор
- name – название
- address – адрес
- phones – телефоны
- email – электронная почта
- webSite – URL сайта
- webName – название сайта
- logoIcon – логотип
- key – идентификатор файла логотипа
- name – имя файла с расширением
- size – размер
- data – дата добавления
- compressed – размер логотипа
- mime – MIME‑тип файла (например, image/png)
- type – формат файла
- originalType – исходный тип файла
|
Вызов метода /booking/SaveAgentParams PUT http://localhost:7700/booking/SaveAgentParams
{
"key": 0,
"name": "string",
"address": "string",
"phones": "string",
"email": "string",
"webSite": "string",
"webName": "string",
"logoIcon": {
"key": 0,
"name": "string",
"size": 0,
"data": "string",
"compressed": false,
"mime": "string",
"type": "string",
"originalType": "string"
}
}
Возвращаемый результат: HTTP/1.1 200 OK
|
Аутентификация (Auth)
Метод: POST /booking/Auth
- Формат запроса:
- Принимаемые параметры:
- token – токен авторизации
- Возвращаемый результат:
- authCode – код аутентификации
- login – логин
- password – пароль
- userID – ID пользователя
- onlineUserKey – ключ пользователя онлайн
- userKey – ключ пользователя
- partnerKey – ключ партнера
- partnerName – имя партнера
- filialKey – ключ филлиала
- personConnectionId – персональный ID
- name – название
- firstName – имя
- fullName – полное имя
- title – название
- birthDay – дата рождения
- createDate – дата создания
- actions – поле actions
- authenticationType – тип аутентификации
- isAuthenticated – может быть значение true или false
- isBlocked – может быть значение true или false
- isPartnerHotel – может быть значение true или false
|
Вызов метода /booking/Auth POST http://localhost:7700/booking/Auth
Возвращаемый результат: {
"authCode": "string",
"login": "string",
"password": "string",
"userID": "string",
"onlineUserKey": 0,
"userKey": 0,
"partnerKey": 0,
"partnerName": "string",
"filialKey": 0,
"personConnectionId": 0,
"name": "string",
"firstName": "string",
"fullName": "string",
"title": "string",
"birthDay": "2025-10-05T17:01:04.411Z",
"createDate": "2025-10-05T17:01:04.411Z",
"actions": [
0
],
"authenticationType": "string",
"isAuthenticated": true,
"isBlocked": true,
"isPartnerHotel": true
}
Возвращаемый результат 400 Error: Bad Request {
"errors": {
"token": [
"The token field is required."
]
},
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-6a913f29fe774ba54a1c9a07a07ee604-33a17ac002471c42-00"
}
|
Получение разрешений (GetMyActions)
Метод: GET /booking/GetMyActions
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат:
- key – уникальный идентификатор пользователя
- firstName – имя (string)
- name – краткое имя/логин-отображение
- fullName – полное имя
- birthday – дата рождения в ISO-формате (ISO 8601, напр. 2025-10-05T17:20:11.154Z)
- title – должность
- login – логин пользователя
- password – пароль
- contacts – контактная информация
- phoneCell – мобильный телефон
- key – идентификатор записи
- value – номер телефона
- phoneOffice – рабочий телефон
- key – идентификатор записи
- value – номер телефона
- email – адрес электронной почты
- key – идентификатор записи
- value – e-mail
- skype – учётная запись Skype
- key – идентификатор записи
- value – имя учётной записи
- phoneCell – мобильный телефон
- actionGroups – объект флагов принадлежности к группам действий, может быть true или false
- permissions – объект прав пользователя
- editAddress – разрешено редактировать адрес, может быть true или false
- editContacts – разрешено редактировать контакты, может быть true или false
- editPassword – разрешено менять пароль, может быть true или false
- editPersonData – разрешено редактировать персональные данные, может быть true или false
- editActions – разрешено управлять действиями/ролями, может быть true или false
- titlesList – список должностей
|
Вызов метода /booking/GetMyActions
GET http://localhost:7700/booking/GetMyActions
Возвращаемый результат:
[
{
"key": 0,
"firstName": "string",
"name": "string",
"fullName": "string",
"birthday": "2025-10-05T17:20:11.154Z",
"title": "string",
"login": "string",
"password": "string",
"contacts": {
"phoneCell": {
"key": 0,
"value": "string"
},
"phoneOffice": {
"key": 0,
"value": "string"
},
"email": {
"key": 0,
"value": "string"
},
"skype": {
"key": 0,
"value": "string"
}
},
"actionGroups": {
"additionalProp1": true,
"additionalProp2": true,
"additionalProp3": true
},
"permissions": {
"editAddress": true,
"editContacts": true,
"editPassword": true,
"editPersonData": true,
"editActions": true
},
"titlesList": [
"string"
]
}
]
|
Получение параметров авторизованного лица (GetAuth)
Метод: GET /booking/GetAuth
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат:
- authCode – код аутентификации
- login – логин
- password – пароль
- userID – ID пользователя
- onlineUserKey – ключ пользователя онлайн
- userKey – ключ пользователя
- partnerKey – ключ партнера
- partnerName – имя партнера
- filialKey – ключ филлиала
- personConnectionId – ID персонального подключения
- name – имя
- firstName – фамилия
- fullName – полное имя
- title – название
- birthDay – дата рождения
- createDate – дата создания
- actions – поле actions
- authenticationType – тип аутентификации
- isAuthenticated – может быть true или false
- isBlocked – может быть true или false
- isPartnerHotel – может быть true или false
|
Вызов метода /booking/GetAuth GET http://localhost:7700/booking/GetAuth
Возвращаемый результат: {
"authCode": "string",
"login": "string",
"password": "string",
"userID": "string",
"onlineUserKey": 0,
"userKey": 0,
"partnerKey": 0,
"partnerName": "string",
"filialKey": 0,
"personConnectionId": 0,
"name": "string",
"firstName": "string",
"fullName": "string",
"title": "string",
"birthDay": "2025-10-05T17:39:36.838Z",
"createDate": "2025-10-05T17:39:36.838Z",
"actions": [
0
],
"authenticationType": "string",
"isAuthenticated": true,
"isBlocked": true,
"isPartnerHotel": true
}
|
Пполучение списка пользователей онлайн (GetWebUsers)
Метод: POST /booking/GetWebUsers
- Формат запроса:
- Принимаемые параметры (Request body):
- login – фильтр по логину пользователя
- name – фильтр по имени/отображаемому имени
- email – фильтр по e-mail
- phone – фильтр по номеру телефона
- paging – параметры пагинации результатов
- number – номер страницы (обычно начиная с 1; при 0 сервис может интерпретировать как первую страницу или отключённую пагинацию)
- size – размер страницы ( > 0; максимальное количество записей на странице)
- Возвращаемый результат:
- key – уникальный идентификатор пользователя
- login – логин пользователя
- firstName – фамилия
- name – имя
- fullName – полное имя
- createDate – дата/время создания учётной записи в формате ISO 8601 (напр. 2025-10-05T17:56:47.213Z)
- birthday – дата рождения в формате ISO 8601 (напр. 2025-10-05T17:56:47.213Z)
- canDelete – можно ли удалять данного пользователя, может быть true или false
- canEdit – можно ли редактировать данные пользователя, может быть true или false
- isLoggedIn – признак активной авторизации пользователя, может быть true или false
- isSuperUser – признак суперпользователя/администратора, может быть true или false
|
Вызов метода /booking/GetWebUsers POST http://localhost:7700/booking/GetWebUsers
{
"login": "string",
"name": "string",
"email": "string",
"phone": "string",
"paging": {
"number": 0,
"size": 0
}
}
Возвращаемый результат:
[
{
"key": 0,
"login": "string",
"firstName": "string",
"name": "string",
"fullName": "string",
"createDate": "2025-10-05T17:56:47.213Z",
"birthday": "2025-10-05T17:56:47.213Z",
"canDelete": true,
"canEdit": true,
"isLoggedIn": true,
"isSuperUser": true
}
]
|
Получение данных об онлайн пользователях (GetPersonParams)
Метод: GET /booking/GetPersonParams
- Формат запроса:
- Принимаемые параметры:
- personKey – персональный ключ
- Возвращаемый результат:
- key – уникальный идентификатор записи
- firstName – фамилия
- name – имя
- fullName – полное имя
- birthday – дата рождения в формате ISO 8601 (напр. 2025-10-05T18:15:10.853Z)
- title – должность
- login – логин пользователя
- password – пароль пользователя
- contacts – контакты пользователя
- phoneCell – мобильный телефон
- key – идентификатор контактной записи
- value – номер телефона
- phoneOffice – рабочий телефон
- key – идентификатор контактной записи
- value – номер телефона
- email – адрес электронной почты
- key – идентификатор контактной записи
- value – email
- skype – учётная запись Skype
- key – идентификатор контактной записи
- value – имя учётной записи
- phoneCell – мобильный телефон
- actionGroups – объект флагов принадлежности к группам действий, может быть true или false
- permissions – объект прав пользователя
- editAddress – разрешено редактировать адрес, может быть true или false
- editContacts – разрешено редактировать контакты, может быть true или false
- editPassword – разрешено менять пароль, может быть true или false
- editPersonData – разрешено редактировать персональные данные, может быть true или false
- editActions – разрешено управлять действиями/ролями, может быть true или false
- titlesList – список должностей/тегов пользователя
|
Вызов метода /booking/GetPersonParams
GET http://localhost:7700/booking/GetPersonParams
Возвращаемый результат: [
{
"key": 0,
"firstName": "string",
"name": "string",
"fullName": "string",
"birthday": "2025-10-05T18:15:10.853Z",
"title": "string",
"login": "string",
"password": "string",
"contacts": {
"phoneCell": {
"key": 0,
"value": "string"
},
"phoneOffice": {
"key": 0,
"value": "string"
},
"email": {
"key": 0,
"value": "string"
},
"skype": {
"key": 0,
"value": "string"
}
},
"actionGroups": {
"additionalProp1": true,
"additionalProp2": true,
"additionalProp3": true
},
"permissions": {
"editAddress": true,
"editContacts": true,
"editPassword": true,
"editPersonData": true,
"editActions": true
},
"titlesList": [
"string"
]
}
]
|
Редактирование онлайн пользователей (SavePersonParams)
Метод: PUT /booking/SavePersonParams
- Формат запроса:
- Принимаемые параметры (Request body):
- key – уникальный идентификатор записи пользователя
- firstName – имя
- name – краткое/отображаемое имя
- fullName – полное имя
- birthday – дата рождения в формате ISO 8601 (например, 2025-10-05T18:22:12.104Z)
- title – должность
- login – логин пользователя
- password – пароль пользователя
- contacts – объект контактной информации
- phoneCell – мобильный телефон
- key – идентификатор контактной записи
- value – номер телефона
- phoneOffice – рабочий телефон
- key – идентификатор контактной записи
- value – номер телефона
- email – электронная почта
- key – идентификатор контактной записи
- value – email
- skype – учётная запись Skype
- key – идентификатор контактной записи
- value – имя учётной записи
- phoneCell – мобильный телефон
- actionGroups – объект флагов принадлежности к группам действий (значения true/false)
- permissions – объект прав пользователя
- editAddress – разрешено редактировать адрес (значения true/false)
- editContacts – разрешено редактировать контакты (значения true/false)
- editPassword – разрешено менять пароль (значения true/false)
- editPersonData – разрешено редактировать персональные данные (значения true/false)
- editActions – разрешено управлять действиями/ролями (значения true/false)
- titlesList – список должностей/тегов пользователя (массив строк)
- Возвращаемый результат:
- key – уникальный идентификатор пользователя
- login – логин пользователя
- firstName – фамилия
- name – имя
- fullName – полное имя
- createDate – дата/время создания/изменения записи (ISO 8601)
- birthday – дата рождения (ISO 8601)
- canDelete – можно ли удалять этого пользователя (значения true/false)
- canEdit – можно ли редактировать данные пользователя (значения true/false)
- isLoggedIn – признак активной авторизации пользователя (значения true/false)
- isSuperUser – признак суперпользователя/администратора (значения true/false)
|
Вызов метода /booking/SavePersonParams PUT http://localhost:7700/booking/SavePersonParams
{
"key": 0,
"firstName": "string",
"name": "string",
"fullName": "string",
"birthday": "2025-10-05T18:22:12.104Z",
"title": "string",
"login": "string",
"password": "string",
"contacts": {
"phoneCell": {
"key": 0,
"value": "string"
},
"phoneOffice": {
"key": 0,
"value": "string"
},
"email": {
"key": 0,
"value": "string"
},
"skype": {
"key": 0,
"value": "string"
}
},
"actionGroups": {
"additionalProp1": true,
"additionalProp2": true,
"additionalProp3": true
},
"permissions": {
"editAddress": true,
"editContacts": true,
"editPassword": true,
"editPersonData": true,
"editActions": true
},
"titlesList": [
"string"
]
}
Возвращаемый результат: {
"key": 0,
"login": "string",
"firstName": "string",
"name": "string",
"fullName": "string",
"createDate": "2025-10-05T18:24:54.936Z",
"birthday": "2025-10-05T18:24:54.936Z",
"canDelete": true,
"canEdit": true,
"isLoggedIn": true,
"isSuperUser": true
}
|
Удаление онлайн пользователей (DeleteWebUser)
Метод: DELETE /booking/DeleteWebUser
- Формат запроса:
- Принимаемые параметры:
- webUserKey – уникальный идентификатор веб-пользователя, которого необходимо удалить (integer, обязателен). Значение берётся из поля key в результатах метода GetWebUsers.
- Возвращаемый результат:
- Code 200 OK — пользователь успешно удалён
|
Вызов метода /booking/DeleteWebUser (передача идентификатора в query string)
DELETE http://localhost:7700/booking/DeleteWebUser?webUserKey=123
Возвращаемый результат: HTTP/1.1 200 OK
|
Получение типов наценок (GetMarkupTypes)
Метод: GET /booking/GetMarkupTypes
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат: (массив типов наценок)
- key – уникальный идентификатор типа наценки
- name – наименование/отображаемое имя типа наценки
|
Вызов метода /booking/GetMarkupTypes
GET http://localhost:7700/booking/GetMarkupTypes
Возвращаемый результат:
[
{
"key": 0,
"name": "string"
}
]
|
Получение наценок (GetMarkups)
Метод: GET /booking/GetMarkups
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат:
- key – уникальный идентификатор записи наценки
- category – категория/область применения наценки, напр. «Отель», «География», «Категория»
- hotel – наименование отеля, к которому применяется наценка (при типе наценки для отеля)
- geography – географическая область применения (город/регион/страна) (при географических наценках)
- amount – величина наценки для взрослых. Интерпретация зависит от isPercent:
• если isPercent=true — процент (например, 10 = +10%) • если isPercent=false — фиксированная сумма (в базовой валюте)
- childAmount – величина наценки для детей, по тем же правилам, что и amount
- isPercent – признак, что наценка задаётся в процентах. Если false, используется фиксированная сумма
- isPerNight – наценка применяется за ночь. Если true, сумма/процент начисляются за каждую ночь; если false — за всё размещение
- type – тип наценки, как правило соответствует одному из значений из справочника типов наценок
- entityKey – ключ связанной сущности: для наценки на отель — ключ отеля, для географии — ключ региона/города и т.п.
|
Вызов метода /booking/GetMarkups
GET http://localhost:7700/booking/GetMarkups
Возвращаемый результат:
[
{
"key": 0,
"category": "string",
"hotel": "string",
"geography": "string",
"amount": 0,
"childAmount": 0,
"isPercent": true,
"isPerNight": true,
"type": 0,
"entityKey": 0
}
]
|
Получение редактируемых параметров наценок (GetMarkupEditParams)
Метод: GET /booking/GetMarkupEditParams
- Формат запроса:
- Принимаемые параметры:
- markupKey – уникальный идентификатор записи наценки
- Возвращаемый результат:
- key – уникальный идентификатор записи наценки
- type – тип наценки
- amount – величина наценки для взрослых: если isPercent=true, интерпретируется как процент; если false — как фиксированная сумма
- childAmount – величина наценки для детей, по тем же правилам, что и amount
- isPercent – признак, что наценка задаётся в процентах. Если false, используется фиксированная сумма
- isPerNight – признак расчёта «за ночь»: true — начисляется за каждую ночь, false — за всё размещение
- value – объект привязанной сущности (к чему применяется наценка, например, отель/география/категория)
- key – идентификатор сущности
- name – наименование сущности
|
Вызов метода /booking/GetMarkupEditParams
GET http://localhost:7700/booking/GetMarkupEditParams?markupKey=205
Возвращаемый результат: {
"key": 0,
"type": 0,
"amount": 0,
"childAmount": 0,
"isPercent": true,
"isPerNight": true,
"value": {
"key": 0,
"name": "string"
}
}
|
Редактирование параметров наценок (SaveMarkupEditParams)
Метод: PUT /booking/SaveMarkupEditParams
- Формат запроса:
- Принимаемые параметры (Request body):
- key – уникальный идентификатор редактируемой наценки.
- type – тип наценки. Значение соответствует одному из справочника типов.
- amount – величина наценки для взрослых. Если isPercent = true — это процент (например, 10 = +10%), если false — фиксированная сумма в базовой валюте.
- childAmount – величина наценки для детей, по тем же правилам, что и amount.
- isPercent – признак, что наценка задаётся в процентах. Если false, используется фиксированная сумма.
- isPerNight – признак применения «за ночь». Если true, наценка начисляется за каждую ночь проживания; если false — за весь период размещения.
- value – объект привязанной сущности, к которой применяется наценка (отель/география/категория и т.п.)
- key – идентификатор сущности – например, ключ отеля или региона.
- name – наименование сущности – например, название отеля или региона.
- Возвращаемый результат:
- key – уникальный идентификатор записи наценки
- category – категория применения наценки, напр. «Отель», «География», «Категория»
- hotel – наименование отеля, если наценка привязана к конкретному отелю; иначе пусто
- geography – географическая область, если наценка географическая; иначе пусто
- amount – величина наценки для взрослых, по правилам isPercent
- childAmount – величина наценки для детей, по правилам isPercent
- isPercent – признак процентной наценки. Если false, используется фиксированная сумма.
- isPerNight – признак применения «за ночь». Если true, наценка начисляется за каждую ночь проживания; если false — за весь период размещения.
- type – тип наценки, соответствует справочнику типов
- entityKey – ключ связанной сущности: ключ отеля/региона/категории, к которой применена наценка
|
Вызов метода /booking/SaveMarkupEditParams
PUT http://localhost:7700/booking/SaveMarkupEditParams
{
"key": 0,
"type": 0,
"amount": 0,
"childAmount": 0,
"isPercent": true,
"isPerNight": true,
"value": {
"key": 0,
"name": "string"
}
}
Возвращаемый результат:
{
"key": 0,
"category": "string",
"hotel": "string",
"geography": "string",
"amount": 0,
"childAmount": 0,
"isPercent": true,
"isPerNight": true,
"type": 0,
"entityKey": 0
}
|
Удаление наценок (DeleteMarkup)
Метод: DELETE /booking/DeleteMarkup
- Формат запроса:
- Принимаемые параметры:
- markupKey – уникальный идентификатор записи наценки
- Возвращаемый результат:
- Code 200 OK — наценка успешно удалена
|
Вызов метода /booking/DeleteMarkup
DELETE http://localhost:7700/booking/DeleteMarkup?markupKey=205
Возвращаемый результат: HTTP/1.1 200 OK
|
Получение дополнительных параметров партнера (GetPartnerExtras)
Метод: GET /booking/GetPartnerExtras
- Формат запроса:
- Принимаемые параметры отсутствуют
- Возвращаемый результат:
- key – уникальный идентификатор записи настроек
- prKey – идентификатор партнёра, к которому относятся настройки
- daysOffsetCancellationPolicy – сдвиг по дням для политики отмены: за сколько дней до заезда начинают действовать/изменяются условия отмены (штрафы и т.п.)
- daysOffsetPaymentPolicy – сдвиг по дням для платёжной политики: за сколько дней до заезда наступает срок оплаты/изменяются условия оплаты
|
Вызов метода /booking/GetPartnerExtras
GET http://localhost:7700/booking/GetPartnerExtras
Возвращаемый результат: {
"key": 0,
"prKey": 0,
"daysOffsetCancellationPolicy": 0,
"daysOffsetPaymentPolicy": 0
}
|
Редактирование дополнительных параметров партнера (SavePartnerExtras)
Метод: PUT /booking/SavePartnerExtras
- Формат запроса:
- Принимаемые параметры (Request body):
- key – уникальный идентификатор записи настроек
- prKey – идентификатор партнёра, для которого применяются настройки.
- daysOffsetCancellationPolicy – сдвиг (количество дней) для политики отмены: за сколько дней до даты заезда начинают действовать/меняться условия отмены (штрафы и т.п.).
- daysOffsetPaymentPolicy – сдвиг (количество дней) для платёжной политики: за сколько дней до даты заезда наступает срок оплаты/меняются условия оплаты.
- Возвращаемый результат:
- key – уникальный идентификатор записи настроек
- prKey – идентификатор партнёра
- daysOffsetCancellationPolicy – установленный сдвиг по дням для политики отмены
- daysOffsetPaymentPolicy – установленный сдвиг по дням для платёжной политики
Вызов метода /booking/SavePartnerExtras
PUT http://localhost:7700/booking/SavePartnerExtras
{
"key": 0,
"prKey": 0,
"daysOffsetCancellationPolicy": 0,
"daysOffsetPaymentPolicy": 0
}
Возвращаемый результат:
{
"key": 0,
"prKey": 0,
"daysOffsetCancellationPolicy": 0,
"daysOffsetPaymentPolicy": 0
}
|
Получение настроек платежей (GetPayments)
Метод: GET /booking/GetPayments
- Формат запроса:
- Принимаемые параметры:
- dateFrom – дата/время начала интервала (ISO 8601). Фильтр по платежам с этой даты включительно (например, 2025-10-01 или 2025-10-01T00:00:00Z).
- dateTo – дата/время конца интервала (ISO 8601). Фильтр по платежам до этой даты включительно (например, 2025-10-31 или 2025-10-31T23:59:59Z).
- Возвращаемый результат:
- items – список платежей
- key – уникальный идентификатор платежа
- docNumber – номер документа/платёжного документа
- date – дата/время платежа (в формате ISO 8601)
- amount – сумма платежа
- currency – валюта платежа (например RUB, USD, EUR)
- totals – агрегированные итоги по выборке
- key – ключ итога
- value – значение итога
- items – список платежей
|
Вызов метода /booking/GetPayments
GET http://localhost:7700/booking/GetPayments?dateFrom=2025-10-01&dateTo=2025-10-31
Возвращаемый результат: {
"items": [
{
"key": 0,
"docNumber": "string",
"date": "2025-10-05T19:31:45.484Z",
"amount": 0,
"currency": "string"
}
],
"totals": [
{
"key": 0,
"value": "string"
}
]
}
|
Booking
Бронирование путевки (Createreservation)
Метод: POST /booking/CreateReservation
- Формат запроса:
- Принимаемые параметры (Request body):
- rate – тариф/предложение, по которому оформляется бронь
- id – идентификатор тарифа
- touristServices – связи «турист ↔ услуга»
- touristRoomNumber – № комнаты/посадки для туриста
- serviceID – идентификатор услуги
- touristID – идентификатор туриста
- services – список услуг в бронировании
- externalID – внешний идентификатор услуги во внешней системе
- nMen – количество туристов по услуге
- additionalParams – дополнительные параметры услуги
- key – имя параметра
- value – значение параметра
- startDate – дата начала услуги (ISO 8601)
- duration – длительность в ночах/днях
- id – идентификатор услуги
- hotel – отель
- id – идентификатор отеля
- room – параметры размещения
- roomTypeID – тип номера
- roomCategoryID – категория номера
- roomAccomodationID – тип размещения
- pansionID – идентификатор питания
- tourists – список туристов
- sex – пол
- birthDate – дата рождения (ISO 8601)
- firstNameLat – имя латиницей
- surNameLat – фамилия латиницей
- foreignPassport – заграничный паспорт
- serie – серия
- number – номер
- endDate – дата окончания (ISO 8601)
- ageType – возрастной тип
- isMain – признак главного туриста, может быть true или False
- id – идентификатор туриста
- phone – телефон
- tourOperatorID – идентификатор туроператора
- tourOperatorCode – код туроператора
- hasInvoices – признак, что по брони имеются счета, может быть true или False
- id – идентификатор брони
- externalID – внешний идентификатор брони
- rate – тариф/предложение, по которому оформляется бронь
- Возвращаемый результат:
- rate – сведения о тарифе
- additionalParams – дополнительные параметры тарифа
- key – имя параметра
- value – значение параметра
- name – наименование тарифа
- id – идентификатор тарифа
- description – описание
- descriptionSpecified – признак заполненности поля description, может быть true или False
- nameLat – наименование латиницей
- nameLatSpecified – признак заполненности nameLat, может быть true или False
- code – код тарифа
- codeSpecified – признак заполненности code, может быть true или False
- codeLat – код латиницей
- codeLatSpecified – признак заполненности codeLat, может быть true или False
- unicode – Unicode-код/обозначение
- unicodeSpecified – признак заполненности unicode, может быть true или False
- isMain – признак основного тарифа, может быть true или False
- isNational – признак национального тарифа, может быть true или False
- additionalParams – дополнительные параметры тарифа
- touristServices – связи туристов и услуг
- id – идентификатор связи
- touristRoomNumber – № комнаты/посадки
- serviceID – идентификатор услуги
- touristID – идентификатор туриста
- services – услуги по брони
- externalID – внешний идентификатор
- price – цена услуги
- nMen – кол-во туристов
- partnerID – идентификатор партнёра
- packetKey – ключ пакетной услуги/пакета
- detailNetto – детализация нетто
- detailBrutto – детализация брутто
- notes – примечания
- name – наименование услуги
- startDate – дата начала услуги (ISO 8601)
- endDate – дата окончания услуги (ISO 8601)
- startDay – «день начала» относительно тура
- duration – длительность
- rateBrutto – тариф брутто
- brutto – сумма брутто
- rateNetto – тариф нетто
- netto – сумма нетто
- serviceClassID – класс услуги
- touristCount – количество туристов по услуге
- id – идентификатор услуги
- status – статус услуги
- additionalParams – доп. параметры статус
- key – имя параметра
- value – значение параметра
- name – наименование статуса
- id – идентификатор статуса
- description – описание статуса
- descriptionSpecified – признак заполненности, может быть true или False
- nameLat – наименование латиницей
- nameLatSpecified – признак заполненности, может быть true или False
- code – код статуса
- codeSpecified – признак заполненности, может быть true или False
- codeLat – код латиницей
- codeLatSpecified – признак заполненности, может быть true или False
- unicode – Unicode-код/обозначение
- unicodeSpecified – признак заполненности
- additionalParams – доп. параметры статус
- additionalParams – дополнительные параметры услуги
- key – имя параметра
- value – значение параметра
- id – идентификатор брони
- name – наименование/код брони
- netto – общая сумма нетто
- brutto – общая сумма брутто
- countryID – идентификатор страны
- cityID – идентификатор города
- partnerID – идентификатор партнёра
- startDate – дата начала тура/проживания (ISO 8601)
- endDate – дата окончания тура/проживания (ISO 8601)
- duration – длительность тура
- creationDate – дата/время создания брони (ISO 8601)
- creatorID – идентификатор создателя
- tourists – итоговый список туристов в брони
- sex – пол
- firstName – имя
- lastName – отчество
- surName – фамилия
- birthDate – дата рождения (ISO 8601)
- firstNameLat – имя латиницей
- surNameLat – фамилия латиницей
- lastNameLat – отчество/второе имя латиницей
- localPassport – внутренний паспорт
- issuedBy – кем выдан
- serie – серия
- number – номер
- issueDate – дата выдачи (ISO 8601)
- endDate – дата окончания (ISO 8601)
- foreignPassport – заграничный паспорт
- issuedBy – кем выдан
- serie – серия
- number – номер
- issueDate – дата выдачи (ISO 8601)
- endDate – дата окончания (ISO 8601)
- ageType – возрастной тип
- citizen – гражданство
- isMain – признак главного туриста, может быть true или False
- externalID – внешний идентификатор
- additionalParams – дополнительные параметры туриста
- key – имя параметра
- value – значение параметра
- id – идентификатор туриста
- phone – телефо
- email – email
- ownerID – идентификатор владельца/агентства
- tourOperatorID – идентификатор туроператора
- tourOperatorCode – код туроператора
- hasInvoices – признак наличия счетов, может быть true или False
- externalID – внешний идентификатор брони
- additionalParams – дополнительные параметры брони
- key – имя параметра
- value – значение параметра
- rate – сведения о тарифе
|
Вызов метода /booking/CreateReservation POST http://localhost:7700/booking/CreateReservation
{
"rate": {
"id": 1
},
"touristServices": [
{
"touristRoomNumber": "1408",
"serviceID": -1,
"touristID": -1
},
{
"touristRoomNumber": "1408",
"serviceID": -1,
"touristID": -2
}
],
"services": [
{
"externalID": 0,
"nMen": 2,
"additionalParams": [
{
"key": "Type",
"value": "HotelService"
}
],
"startDate": "2024-09-09T00:00:00",
"duration": 8,
"id": -1,
"hotel": {
"id": 4387
},
"room": {
"roomTypeID": 58,
"roomCategoryID": 65,
"roomAccomodationID": 2231
},
"pansionID": 29
}
],
"tourists": [
{
"sex": 0,
"birthDate": "1966-06-28T00:00:00",
"firstNameLat": "John",
"surNameLat": "Cusack",
"foreignPassport": {
"serie": "AA",
"number": "123456"
},
"ageType": 0,
"isMain": true,
"id": -1,
"phone": "+79661230947"
},
{
"sex": 0,
"birthDate": "1999-11-28T00:00:00",
"firstNameLat": "Mike",
"surNameLat": "Enslin",
"foreignPassport": {
"serie": "ZZ",
"number": "654321",
"endDate": "2024-08-14T00:00:00"
},
"ageType": 0,
"isMain": false,
"id": -2
}
],
"tourOperatorID": 0,
"tourOperatorCode": "bloodandsmoke",
"hasInvoices": false,
"id": 0,
"externalID": 0
}
Возвращаемый результат:
{
"rate": {
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"id": 0,
"description": "string",
"descriptionSpecified": true,
"nameLat": "string",
"nameLatSpecified": true,
"code": "string",
"codeSpecified": true,
"codeLat": "string",
"codeLatSpecified": true,
"unicode": "string",
"unicodeSpecified": true,
"isMain": true,
"isNational": true
},
"touristServices": [
{
"id": 0,
"touristRoomNumber": "string",
"serviceID": 0,
"touristID": 0
}
],
"services": [
{
"externalID": 0,
"price": 0,
"nMen": 0,
"partnerID": 0,
"packetKey": 0,
"detailNetto": "string",
"detailBrutto": "string",
"notes": "string",
"name": "string",
"startDate": "2025-10-05T19:51:21.646Z",
"endDate": "2025-10-05T19:51:21.646Z",
"startDay": 0,
"duration": 0,
"rateBrutto": "string",
"brutto": 0,
"rateNetto": "string",
"netto": 0,
"serviceClassID": 0,
"touristCount": 0,
"id": 0,
"status": {
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"id": 0,
"description": "string",
"descriptionSpecified": true,
"nameLat": "string",
"nameLatSpecified": true,
"code": "string",
"codeSpecified": true,
"codeLat": "string",
"codeLatSpecified": true,
"unicode": "string",
"unicodeSpecified": true
},
"additionalParams": [
{
"key": "string",
"value": "string"
}
]
}
],
"id": 0,
"name": "string",
"netto": 0,
"brutto": 0,
"countryID": 0,
"cityID": 0,
"partnerID": 0,
"startDate": "2025-10-05T19:51:21.647Z",
"endDate": "2025-10-05T19:51:21.647Z",
"duration": 0,
"creationDate": "2025-10-05T19:51:21.647Z",
"creatorID": 0,
"tourists": [
{
"sex": 0,
"firstName": "string",
"lastName": "string",
"surName": "string",
"birthDate": "2025-10-05T19:51:21.647Z",
"firstNameLat": "string",
"surNameLat": "string",
"lastNameLat": "string",
"localPassport": {
"issuedBy": "string",
"serie": "string",
"number": "string",
"issueDate": "2025-10-05T19:51:21.647Z",
"endDate": "2025-10-05T19:51:21.647Z"
},
"foreignPassport": {
"issuedBy": "string",
"serie": "string",
"number": "string",
"issueDate": "2025-10-05T19:51:21.647Z",
"endDate": "2025-10-05T19:51:21.647Z"
},
"ageType": 0,
"citizen": "string",
"isMain": true,
"externalID": 0,
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"id": 0,
"phone": "string",
"email": "string"
}
],
"ownerID": 0,
"tourOperatorID": 0,
"tourOperatorCode": "string",
"hasInvoices": true,
"externalID": 0,
"additionalParams": [
{
"key": "string",
"value": "string"
}
]
}
|
Бронирование путевки расширенное (CreateReservationNew)
Метод: POST /booking/CreateReservationNew
- Формат запроса:
- Принимаемые параметры (Request body):
- hotel_id – идентификатор отеля, по которому создаётся бронь
- client_reference_id – внешний идентификатор/референс клиента, позволит сопоставить бронь в вашей системе
- reservation_holder – основной держатель брони
- first_name – имя держателя
- last_name – фамилия держателя
- is_child – признак, что держатель — ребёнок, может быть true или false
- age – возраст держателя
- birthday – дата рождения держателя (ISO 8601)
- gender – пол
- email – e-mail держателя
- phone – телефон держателя
- isMain – признак, что это главный турист, может быть true или false
- id – идентификатор держателя
- contact_info – контактные данные по брони
- phone – телефон для связи
- email – e-mail для связи
- webpage – веб-страница/сайт
- rates – список выбранных тарифов/номеров
- rate_id – идентификатор тарифа/предложения
- price – цена по тарифу
- room – параметры номера
- id – идентификатор номера/варианта размещения
- guests – список гостей, заселяемых в этот номер
- first_name – имя гостя
- last_name – фамилия гостя
- is_child – признак, что гость — ребёнок, может быть true или false
- age – возраст гостя
- birthday – дата рождения гостя (ISO 8601)
- gender – пол
- email – e-mail гостя
- phone – телефон гостя
- isMain – признак «главный гость» в комнате, может быть true или false
- id – идентификатор гостя
- extras – дополнительные услуги по тарифу
- id – идентификатор вида допуслуги
- key – ключ записи/варианта допуслуги
- date_from – дата начала допуслуги (ISO 8601)
- date_to – дата окончания допуслуги (ISO 8601)
- is_duration – признак, что услуга длительная, может быть true или false
- guests – список ID гостей, к которым применяется услуга
- comments – комментарии к тарифу/номеру
- transfers – трансферы в рамках брони
- id – идентификатор типа трансфера
- key – ключ варианта трансфера
- date – дата/время трансфера (ISO 8601)
- guests – список ID гостей для трансфера
- price – стоимость трансфера
- pointTo – пункт назначения
- pointFrom – пункт отправления
- transferName – наименование трансфера
- transferType – тип трансфера
- key – идентификатор типа
- name – наименование типа
- currency – валюта расчёта (напр. RUB, USD)
- routeNumber – номер рейса/маршрута
- isGroup – групповый трансфер, может быть true или false
- maxPax – максимальная вместимость
- notes – внутренние заметки к брони
- preferences – пожелания гостя
- booking_service_type – тип сервиса бронирования/канал
- Возвращаемый результат:
- reservationId – строковый идентификатор брони во внешнем/фронтовом формате
- reservationKey – числовой ключ брони в системе
- clientReferenceId – возвращённый внешний идентификатор клиента
- hotelConfirmationCode – код подтверждения отеля
- status – статус брони, например CONFIRMED, PENDING, CANCELLED
|
Вызов метода /booking/CreateReservation
POST http://localhost:7700/booking/CreateReservation
{
"hotel_id": 0,
"client_reference_id": "string",
"reservation_holder": {
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
},
"contact_info": {
"phone": "string",
"email": "string",
"webpage": "string"
},
"rates": [
{
"rate_id": "string",
"price": 0,
"room": {
"id": "string",
"guests": [
{
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
}
]
},
"extras": [
{
"id": "string",
"key": 0,
"date_from": "2025-10-05T20:20:18.919Z",
"date_to": "2025-10-05T20:20:18.919Z",
"is_duration": true,
"guests": [
0
]
}
],
"comments": "string"
}
],
"transfers": [
{
"id": "string",
"key": 0,
"date": "2025-10-05T20:20:18.919Z",
"guests": [
0
],
"price": 0,
"pointTo": "string",
"pointFrom": "string",
"transferName": "string",
"transferType": {
"key": 0,
"name": "string"
},
"currency": "string",
"routeNumber": "string",
"isGroup": true,
"maxPax": 0
}
],
"notes": "string",
"preferences": "string",
"booking_service_type": 0
}
Возвращаемый результат:
{
"reservationId": "string",
"reservationKey": 0,
"clientReferenceId": "string",
"hotelConfirmationCode": "string",
"status": "string"
}
|
Получение информации о забронированной путевке (GetReservation)
Метод: GET /booking/GetReservation
- Формат запроса:
- Принимаемые параметры:
- dgKey – числовой ключ (идентификатор) бронирования, по которому нужно получить полные данные брони.
Возвращаемый результат:
- rate – сведения о тарифе
- additionalParams – дополнительные параметры тарифа
- key – имя параметра
- value – значение параметра
- name – наименование тарифа
- id – идентификатор тарифа
- description – описание тарифа
- descriptionSpecified – признак заполненности description, может быть true или false
- nameLat – наименование латиницей
- nameLatSpecified – признак заполненности nameLat, может быть true или false
- code – код тарифа
- codeSpecified – признак заполненности code, может быть true или false
- codeLat – код латиницей
- codeLatSpecified – признак заполненности codeLat, может быть true или false
- unicode – Unicode-код/обозначение
- unicodeSpecified – признак заполненности unicode, может быть true или false
- isMain – признак, что тариф основной, может быть true или false
- isNational – признак национального тарифа, может быть true или false
- additionalParams – дополнительные параметры тарифа
- touristServices – связи туристов и услуг
- id – идентификатор связи
- touristRoomNumber – номер комнаты/посадки
- serviceID – идентификатор услуги
- touristID – идентификатор туриста
- services – параметры услуги
- externalID – внешний идентификатор услуги
- price – цена услуги
- nMen – количество туристов по услуге
- partnerID – идентификатор партнёра
- packetKey – ключ пакетной услуги/пакета
- detailNetto – детализация нетто
- detailBrutto – детализация брутто
- notes – примечания
- name – наименование услуги
- endDate – дата окончания услуги (ISO 8601)
- startDay – «день начала» относительно тура
- rateBrutto – тариф брутто
- brutto – сумма брутто
- rateNetto – тариф нетто
- netto – сумма нетто
- touristCount – количество туристов по услуге
- id – идентификатор услуги
- additionalParams – дополнительные параметры услуги
- key – имя параметра
- value – значение параметра
- cityKey – идентификатор города услуги
- excursionID – идентификатор экскурсии
- startDate – дата начала услуги (ISO 8601)
- duration – длительность
- serviceClassID – класс/тип услуги
- id – идентификатор брони
- name – наименование/код брони
- netto – общая сумма нетто
- brutto – общая сумма брутто
- countryID – идентификатор страны
- cityID – идентификатор города
- partnerID – идентификатор партнёра
- startDate – дата начала тура/проживания (ISO 8601)
- endDate – дата окончания тура/проживания (ISO 8601)
- duration – длительность тура
- creationDate – дата/время создания брони (ISO 8601)
- creatorID – идентификатор создателя
- tourists – список туристов
- sex – пол
- firstName – имя
- lastName – отчество/второе имя
- surName – фамилия
- birthDate – дата рождения (ISO 8601)
- firstNameLat – имя латиницей
- surNameLat – фамилия латиницей
- lastNameLat – отчество/второе имя латиницей
- localPassport – внутренний паспорт
- issuedBy – кем выдан
- serie – серия
- number – номер
- issueDate – дата выдачи (ISO 8601)
- endDate – дата окончания (ISO 8601)
- foreignPassport – заграничный паспорт
- issuedBy – кем выдан
- serie – серия
- number – номер
- issueDate – дата выдачи (ISO 8601)
- endDate – дата окончания (ISO 8601)
- ageType – возрастной тип
- citizen – гражданство
- isMain – признак главного туриста, может быть true или false
- externalID – внешний идентификатор
- additionalParams – дополнительные параметры туриста
- key – имя параметра
- value – значение параметра
- id – идентификатор туриста
- phone – телефон
- email – e-mail
- ownerID – идентификатор владельца/агентства
- tourOperatorID – идентификатор туроператора
- tourOperatorCode – код туроператора
- hasInvoices – признак наличия счетов, может быть true или false
- externalID – внешний идентификатор брони
- additionalParams – дополнительные параметры брони
- key – имя параметра
- value – значение параметра
- rate – сведения о тарифе
|
Вызов метода /booking/GetReservation
GET http://localhost:7700/booking/GetReservation?dgKey=987654
Возвращаемый результат:
{
"rate": {
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"name": "string",
"id": 0,
"description": "string",
"descriptionSpecified": true,
"nameLat": "string",
"nameLatSpecified": true,
"code": "string",
"codeSpecified": true,
"codeLat": "string",
"codeLatSpecified": true,
"unicode": "string",
"unicodeSpecified": true,
"isMain": true,
"isNational": true
},
"touristServices": [
{
"id": 0,
"touristRoomNumber": "string",
"serviceID": 0,
"touristID": 0
}
],
"services": {
"externalID": 0,
"price": 0,
"nMen": 0,
"partnerID": 0,
"packetKey": 0,
"detailNetto": "string",
"detailBrutto": "string",
"notes": "string",
"name": "string",
"endDate": "2025-10-05T20:50:25.957Z",
"startDay": 0,
"rateBrutto": "string",
"brutto": 0,
"rateNetto": "string",
"netto": 0,
"touristCount": 0,
"id": 0,
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"cityKey": 0,
"excursionID": 0,
"startDate": "2025-10-05T20:50:25.957Z",
"duration": 0,
"serviceClassID": 0
},
"id": 0,
"name": "string",
"netto": 0,
"brutto": 0,
"countryID": 0,
"cityID": 0,
"partnerID": 0,
"startDate": "2025-10-05T20:50:25.957Z",
"endDate": "2025-10-05T20:50:25.957Z",
"duration": 0,
"creationDate": "2025-10-05T20:50:25.957Z",
"creatorID": 0,
"tourists": [
{
"sex": 0,
"firstName": "string",
"lastName": "string",
"surName": "string",
"birthDate": "2025-10-05T20:50:25.957Z",
"firstNameLat": "string",
"surNameLat": "string",
"lastNameLat": "string",
"localPassport": {
"issuedBy": "string",
"serie": "string",
"number": "string",
"issueDate": "2025-10-05T20:50:25.957Z",
"endDate": "2025-10-05T20:50:25.957Z"
},
"foreignPassport": {
"issuedBy": "string",
"serie": "string",
"number": "string",
"issueDate": "2025-10-05T20:50:25.957Z",
"endDate": "2025-10-05T20:50:25.957Z"
},
"ageType": 0,
"citizen": "string",
"isMain": true,
"externalID": 0,
"additionalParams": [
{
"key": "string",
"value": "string"
}
],
"id": 0,
"phone": "string",
"email": "string"
}
],
"ownerID": 0,
"tourOperatorID": 0,
"tourOperatorCode": "string",
"hasInvoices": true,
"externalID": 0,
"additionalParams": [
{
"key": "string",
"value": "string"
}
]
}
|
Получение информации о забронированной путевке расширенное (GetReservationNew)
Метод: GET /booking/GetReservationNew
- Формат запроса:
- Принимаемые параметры:
- dgId – ключ (идентификатор) бронирования, по которому требуется получить сведения
Возвращаемый результат:
- reservation_id – строковый идентификатор бронирования
- reservation_key – числовой ключ бронирования
- client_reference_id – внешний идентификатор из вашей системы
- status_key – числовой код статуса бронирования
- status_name – статус бронирования
- price – общая стоимость бронирования
- paid – оплаченная сумма
- create_date – дата/время создания брони (ISO 8601)
- confirmation_date – дата/время подтверждения брони (ISO 8601)
- check_in – дата/время заезда (ISO 8601)
- check_out – дата/время выезда (ISO 8601)
- pay_to – крайний срок полной оплаты (ISO 8601)
- prepay_to – крайний срок предоплаты (ISO 8601)
- reserved_by – кто создал/оформил бронирование (логин/имя)
- hotel_id – идентификатор отеля
- doc_invoice – список связанных счётов/документов
- fileKey – ключ файла счёта
- invoiceKey – ключ самого счёта/накладной
- invoiceName – имя/название счёта
- fileName – имя файла счёта
- updateDate – дата обновления документа (ISO 8601)
- messages – сообщения/журнал обмена по брони
- dmId – идентификатор сообщения
- dmIsOutgoing – направление (0/1), 0 — входящее, 1 — исходящее
- dmDgkey – ключ брони, к которой относится сообщение
- dmRemark – краткое примечание/ремарка
- dmTypeCode – код типа сообщения
- dmTableId – связанный ИД записи/таблицы
- dmProcessed – признак обработки (0/1)
- dmCreateDate – дата/время создания сообщения (ISO 8601)
- dmText – текст сообщения
- dmTourOperKey – ИД туроператора по сообщению
- dmXml – «сырое» XML-содержимое (если есть)
- dmSendername – имя отправителя
- dmExternalId – внешний идентификатор сообщения
- dmDir – направление по внутренней классификации (числовой код)
- dmIsRead – признак «прочитано»: может быть true (прочитано) или false (не прочитано)
- rates – список тарифов/вариантов размещения в брони
- id – идентификатор тарифа
- price – итоговая цена тарифа
- basicPrice – базовая цена (до наценок/скидок)
- bar_price – цена BAR (если применяется)
- commission – комиссия
- supplier_min_price – минимальная цена поставщика
- taxes – налоги/сборы по тарифу
- type – тип налога/сбора
- currency – валюта налога/сбора
- is_included – включено ли в цену: true (налог уже включён) / false (оплачивается дополнительно)
- amount – сумма налога/сбора
- payment_type – тип оплаты по тарифу (например, предоплата/на месте)
- currency – валюта тарифа
- basicCurrency – базовая валюта
- meals – включённые типы питания
- id – идентификатор питания
- name – наименование питания
- code – код питания
- cancellation_policies – укороченные правила отмены
- from – дата/время начала применения указанной санкции/штрафа
- amount – размер штрафа/удержания
- cancellation_policies_extended – расширенные правила отмены
- policyKey – ключ правила
- dateFrom – период действия «с» (ISO 8601)
- dateTo – период действия «по» (ISO 8601)
- penaltyValue – величина штрафа
- isPercent – формат величины штрафа: true (в процентах) / false (фиксированная сумма)
- description – описание правила/санкции
- payment_policies – платёжные условия по тарифу
- description – текстовое описание условий
- prepayDateTo – срок предоплаты (ISO 8601)
- prepayAmount – размер предоплаты
- nonrefAmount – невозвратная часть
- payDateTo – крайний срок полной оплаты (ISO 8601)
- payAmount – сумма к полной оплате
- rate – тарифное обозначение
- generatedName – сгенерированное имя условия
- addHots – дополнительные «горячие» услуги/надбавки
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно ли удалить эту услугу: true (можно) / false (нельзя)
- cancellationPolicy – политика отмены для услуги
- extraServices – дополнительные услуги
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно ли удалить: true / false
- cancellationPolicy – политика отмены
- manualExtraServices – вручную добавленные допуслуги
- id – строковый идентификатор услуги
- key – ключ услуги
- date_from – дата начала (ISO 8601)
- date_to – дата окончания (ISO 8601)
- duration – длительность
- is_duration – интерпретировать как длительную услугу: true / false
- guests – список ключей гостей, на кого распространяется
- price – цена
- currency – валюта
- serviceClass – класс услуги
- key – ключ класса
- name – имя класса
- service – тип/вид услуги
- key – ключ типа
- name – имя типа
- linkType – тип связи услуги с бронированием
- key – ключ типа связи
- name – имя типа связи
- isGroup – групповая услуга: true / false
- isCalculated – рассчитана системой: true / false
- rooms – номера/варианты размещения
- id – идентификатор номера
- name – наименование номера
- bed_groups – группы спальных мест
- id – идентификатор группы
- name – имя группы
- bed_types – список типов кроватей
- name – тип кровати
- quantity – количество
- allotment – квота мест по номеру
- roomVariant – вариант номера (код)
- roomAccommodation – тип размещения
- guestGroup – агрегированная группа гостей по тарифу
- adults – количество взрослых
- children_ages – возрасты детей
- groupMultiplier – множитель группы (для помножения цены/квоты)
- guests – список гостей в тарифе (структура аналогична гостю в заявке)
- quotaType – тип квоты/наличия
- quotaPlaces – сведения о квотах/местах
- key – ключ
- value – значение
- bruttoDetail – детализация брутто
- uniqueCode – уникальный код тарифа/элемента
- city – город
- key – ключ
- value – значение
- region – регион
- key – ключ
- value – значение
- hotel – отель
- key – ключ
- value – значение
- isAnul – признак аннуляции услуги: true (аннулирована) / false (активна)
- notes – заметки
- hotelExtra – доп. сведения по отелю/услуге
- provider – код/идент. поставщика
- isEditable – можно ли редактировать: true / false
- payment_policies – платёжные условия по брони (структура как выше для тарифа)
- transfers – трансферы, привязанные к брони
- id – идентификатор типа трансфера
- key – ключ варианта трансфера
- date – дата/время трансфера (ISO 8601)
- guests – ключи гостей, на кого оформлен трансфер
- price – стоимость
- pointTo – пункт назначения
- pointFrom – пункт отправления
- transferName – наименование трансфера
- transferType – тип трансфера
- key – ключ типа
- name – имя типа
- currency – валюта
- routeNumber – номер рейса/маршрута
- isGroup – групповая перевозка: true / false
- maxPax – максимальная вместимость
Вызов метода /booking/GetReservationNew
GET http://localhost:7700/booking/GetReservationNew?dgId=987654
Возвращаемый результат:
{
"reservation_id": "string",
"reservation_key": 0,
"client_reference_id": "string",
"status_key": 0,
"status_name": "string",
"price": 0,
"paid": 0,
"create_date": "2025-10-05T20:53:55.309Z",
"confirmation_date": "2025-10-05T20:53:55.309Z",
"check_in": "2025-10-05T20:53:55.309Z",
"check_out": "2025-10-05T20:53:55.309Z",
"pay_to": "2025-10-05T20:53:55.309Z",
"prepay_to": "2025-10-05T20:53:55.309Z",
"reserved_by": "string",
"hotel_id": 0,
"doc_invoice": [
{
"fileKey": 0,
"invoiceKey": 0,
"invoiceName": "string",
"fileName": "string",
"updateDate": "2025-10-05T20:53:55.309Z"
}
],
"messages": [
{
"dmId": 0,
"dmIsOutgoing": 0,
"dmDgkey": 0,
"dmRemark": "string",
"dmTypeCode": 0,
"dmTableId": 0,
"dmProcessed": 0,
"dmCreateDate": "2025-10-05T20:53:55.309Z",
"dmText": "string",
"dmTourOperKey": 0,
"dmXml": "string",
"dmSendername": "string",
"dmExternalId": 0,
"dmDir": 0,
"dmIsRead": true
}
],
"rates": [
{
"id": "string",
"price": 0,
"basicPrice": 0,
"bar_price": 0,
"commission": 0,
"supplier_min_price": 0,
"taxes": [
{
"type": "string",
"currency": "string",
"is_included": true,
"amount": 0
}
],
"payment_type": "string",
"currency": "string",
"basicCurrency": "string",
"meals": [
{
"id": "string",
"name": "string",
"code": "string"
}
],
"cancellation_policies": [
{
"from": "string",
"amount": 0
}
],
"cancellation_policies_extended": [
{
"policyKey": 0,
"dateFrom": "2025-10-05T20:53:55.309Z",
"dateTo": "2025-10-05T20:53:55.309Z",
"penaltyValue": 0,
"isPercent": true,
"description": "string"
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T20:53:55.309Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T20:53:55.309Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
},
"addHots": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"extraServices": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"manualExtraServices": [
{
"id": "string",
"key": 0,
"date_from": "2025-10-05T20:53:55.309Z",
"date_to": "2025-10-05T20:53:55.309Z",
"duration": 0,
"is_duration": true,
"guests": [
0
],
"price": 0,
"currency": "string",
"serviceClass": {
"key": 0,
"name": "string"
},
"service": {
"key": 0,
"name": "string"
},
"linkType": {
"key": 0,
"name": "string"
},
"isGroup": true,
"isCalculated": true
}
],
"rooms": [
{
"id": "string",
"name": "string",
"bed_groups": [
{
"id": "string",
"name": "string",
"bed_types": [
{
"name": "string",
"quantity": 0
}
]
}
],
"allotment": 0,
"roomVariant": 0,
"roomAccommodation": "string"
}
],
"guestGroup": {
"adults": 0,
"children_ages": [
0
],
"groupMultiplier": 0
},
"guests": [
{
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
}
],
"quotaType": 0,
"quotaPlaces": {
"key": "string",
"value": 0
},
"bruttoDetail": "string",
"uniqueCode": "string",
"city": {
"key": "string",
"value": 0
},
"region": {
"key": "string",
"value": 0
},
"hotel": {
"key": "string",
"value": 0
},
"isAnul": true,
"notes": "string",
"hotelExtra": "string",
"provider": 0,
"isEditable": true
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T20:53:55.309Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T20:53:55.309Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
},
"transfers": [
{
"id": "string",
"key": 0,
"date": "2025-10-05T20:53:55.309Z",
"guests": [
0
],
"price": 0,
"pointTo": "string",
"pointFrom": "string",
"transferName": "string",
"transferType": {
"key": 0,
"name": "string"
},
"currency": "string",
"routeNumber": "string",
"isGroup": true,
"maxPax": 0
}
]
}
|
Получение файлов (GetFileData)
Метод: GET /booking/GetFileData
- Формат запроса:
- Принимаемые параметры:
- key – ключ (идентификатор) файла, содержимое которого требуется получить
Возвращаемый результат: (объект файла)
- key – ключ (идентификатор) файла
- name – имя файла (с расширением)
- size – размер файла в байтах
- data – содержимое файла в Base64
- compressed – признак сжатия содержимого: может быть true (данные сжаты) или false (данные без сжатия)
- mime – MIME-тип (например, application/pdf, image/png)
- type – тип/класс файла (внутреннее обозначение)
- originalType – исходный тип/расширение при загрузке
|
Вызов метода /booking/GetFileData
GET http://localhost:7700/booking/GetFileData?key=9001
Возвращаемый результат:
{
"key": 0,
"name": "string",
"size": 0,
"data": "string",
"compressed": true,
"mime": "string",
"type": "string",
"originalType": "string"
}
|
Получение заявок по датам прибытия (GetArrivalsByDate)
Метод: GET /booking/GetArrivalsByDate
- Формат запроса:
- Принимаемые параметры:
- date – дата приезда (заезда), по которой требуется получить список заселений; указывайте в ISO-формате (например, 2025-10-07 или 2025-10-07T00:00:00Z)
- countryKey – фильтр по стране (ключ страны)
- regionKey – фильтр по региону/области (ключ региона)
- cityKey – фильтр по городу (ключ города)
- hotelKey – фильтр по отелю (ключ отеля)
- Возвращаемый результат:
- строка с итоговой сводкой прибытий по указанным фильтрам
|
Вызов метода /booking/GetArrivalsByDate
GET http://localhost:7700/booking/GetArrivalsByDate?date=2025.10.07&cityKey=213
Возвращаемый результат:
"ARRIVALS: date=2025-10-07; hotelKey=4387; expectedCount=12"
|
Получение заявок по датам отбытия (GetDeparturesByDate)
Метод: GET /booking/GetDeparturesByDate
- Формат запроса:
- Принимаемые параметры:
- date – дата выезда (отъезда), по которой требуется получить список выбытий; в ISO-формате (например, 2025-10-07 или 2025-10-07T00:00:00Z)
- countryKey – фильтр по стране (ключ страны)
- regionKey – фильтр по региону/области (ключ региона)
- cityKey – фильтр по городу (ключ города)
- hotelKey – фильтр по отелю (ключ отеля)
- Возвращаемый результат:
- строка с итоговой сводкой выездов по указанным фильтрам
|
Вызов метода /booking/GetDeparturesByDate
GET http://localhost:7700/booking/GetDeparturesByDate?date=2025-10-07&hotelKey=4387
Возвращаемый результат:
"DEPARTURES: date=2025-10-07; hotelKey=4387; expectedCount=9"
|
Аннуляция путевок (CancelReservation)
Метод: GET /booking/CancelReservation
- Формат запроса:
- Принимаемые параметры:
- dgKey – ключ (идентификатор) бронирования, которое требуется аннулировать
- annulReasonID – идентификатор причины аннуляции (из справочника причин; используется для корректной фиксации основания отмены)
- note – комментарий к аннуляции (например, пояснение для внутреннего журнала или партнёра)
- Возвращаемый результат:
- строка с результатом операции (например, текст подтверждения аннуляции либо сообщение об ошибке)
|
Вызов метода /booking/CancelReservation
GET http://localhost:7700/booking/CancelReservation?dgKey=987654&annulReasonID=3¬e=Client%20requested%20cancellation
Возвращаемый результат:
"Reservation 987654 cancelled (reason 3)"
|
Аннуляция путевок с расширенной информацией (CancelReservationExtended)
- Формат запроса:
- Принимаемые параметры:
- dgKey – ключ (идентификатор) бронирования, которое требуется аннулировать
- annulReasonID – идентификатор причины аннуляции (из справочника причин; позволяет корректно зафиксировать основание отмены)
- note – комментарий к аннуляции (произвольный текст для журнала/партнёра)
Возвращаемый результат:
- status – код итогового статуса операции
- canceledServiceResults – список результатов по каждой затронутой услуге
- isStatusOk – признак успешной аннуляции услуги: может быть true (успешно) или false (ошибка)
- error – сообщение об ошибке при аннуляции услуги (если есть)
- number – номер услуги/позиции (если используется нумерация)
- key – ключ услуги (идентификатор)
- resultMessage – текстовое описание результата по услуге
- penaltyCost – данные о штрафе/санкции при аннуляции
- policyKey – ключ применённого правила
- dateFrom – дата/время начала действия штрафа (ISO 8601)
- dateTo – дата/время окончания действия штрафа (ISO 8601)
- penaltyValue – величина штрафа
- isPercent – формат величины штрафа: может быть true (в процентах) или false (фиксированная сумма)
- netto – нетто-сумма, к которой применяется штраф/удержание
- totalPenalty – рассчитанная итоговая сумма штрафа
- description – описание применённого правила/санкции
|
Вызов метода /booking/CancelReservationExtended
GET http://localhost:7700/booking/CancelReservationExtended?dgKey=987654&annulReasonID=3¬e=Client
Возвращаемый результат:
{
"status": 0,
"canceledServiceResults": [
{
"isStatusOk": true,
"error": "string",
"number": 0,
"key": 0,
"resultMessage": "string",
"penaltyCost": {
"policyKey": 0,
"dateFrom": "2025-10-05T21:31:31.531Z",
"dateTo": "2025-10-05T21:31:31.531Z",
"penaltyValue": 0,
"isPercent": true,
"netto": 0,
"totalPenalty": 0,
"description": "string"
}
}
]
}
|
Получение заявок по датам (GetReservationsFrom)
Метод: GET /booking/GetReservationsFrom
- Формат запроса:
- Принимаемые параметры:
- dateFrom – начальная дата периода (ISO 8601), включительно
- dateTo – конечная дата периода (ISO 8601), включительно
Возвращаемый результат:
- message – сервисное сообщение о результате выборки
- error – текст ошибки, если она произошла (пусто при успешном выполнении)
- count – количество найденных бронирований
- data – массив кратких записей бронирований
- key – ключ (идентификатор) брони
- code – код/номер брони
- childrenAges – список возрастов детей, фигурирующих в отобранных бронированиях
- adults – суммарное количество взрослых по выборке
|
Вызов метода /booking/GetReservationsFrom
GET http://localhost:7700/booking/GetReservationsFrom?dateFrom=2025-10-01&dateTo=2025-10-07
Возвращаемый результат:
{
"message": "string",
"error": "string",
"count": 0,
"data": [
{
"key": 0,
"code": "string"
}
],
"childrenAges": [
0
],
"adults": 0
}
|
Получение заявок, расширенная (GetReservations)
Метод: POST /booking/GetReservations
- Формат запроса:
- Принимаемые параметры (Request body):
- sorting – параметры сортировки результата
- property – поле, по которому сортировать (например, createDate, tourStart, price)
- descending – направление сортировки: true — по убыванию, false — по возрастанию
- paging – параметры постраничного вывода
- number – номер страницы (как правило, начиная с 1)
- size – размер страницы (количество записей на странице)
- tourCreateDate – интервал по дате создания брони
- from – нижняя граница (ISO 8601)
- to – верхняя граница (ISO 8601)
- tourDateFrom – интервал по дате начала тура/заезда
- from – нижняя граница (ISO 8601)
- to – верхняя граница (ISO 8601)
- tourDateTo – интервал по дате окончания тура/выезда
- from – нижняя граница (ISO 8601)
- to – верхняя граница (ISO 8601)
- tourPrePayment – интервал по срокам предоплаты
- from – нижняя граница (ISO 8601)
- to – верхняя граница (ISO 8601)
- tourPayment – интервал по срокам полной оплаты
- from – нижняя граница (ISO 8601)
- to – верхняя граница (ISO 8601)
- dogovorCode – фильтр по номеру договора
- hotels – список ключей отелей для фильтрации
- cities – список ключей городов для фильтрации
- statuses – список кодов/ключей статусов брони для фильтрации
- logins – список идентификаторов пользователей, оформивших брони
- touristSurname – фильтр по фамилии туриста
- sorting – параметры сортировки результата
- Возвращаемый результат:
- message – сервисное сообщение о выполнении запроса
- error – текст ошибки (пусто при успешном выполнении)
- count – общее количество найденных записей с учётом фильтров
- data – массив кратких сведений о бронированиях
- code – код/номер брони
- customerCode – код клиента/плательщика
- key – ключ (идентификатор) брони
- city – город брони
- key – наименование/код города
- value – ключ города
- region – регион брони
- key – наименование/код региона
- value – ключ региона
- hotel – основной отель брони
- key – ключ отеля
- name – краткое имя отеля
- fullName – полное имя отеля
- fullContextName – отображаемое имя с контекстом
- regionKey – ключ региона
- cityKey – ключ города
- categoryKey – ключ категории отеля
- dates – даты проживания
- from – дата заезда (ISO 8601)
- to – дата выезда (ISO 8601)
- mealsKeys – перечень ключей типов питания
- hasDescription – у отеля есть описание: true / false
- extraHotels – дополнительные отели в составе брони (если есть)
- (структура полей аналогична hotel)
- duration – длительность тура/проживания (в днях/ночах — по правилам системы)
- tourStart – дата начала тура (ISO 8601)
- tourEnd – дата окончания тура (ISO 8601)
- createDate – дата создания брони (ISO 8601)
- price – общая стоимость
- paid – оплаченная сумма
- rate – тариф/условия (метка)
- invoicesIssued – список выставленных счетов
- inId – идентификатор счёта
- inCustomerKey – ключ клиента
- inProviderKey – ключ поставщика
- inNumber – номер счёта
- inCurrency – валюта счёта
- inPrice – сумма по счёту
- inPayed – оплаченная сумма по счёту
- inCreateDate – дата создания счёта (ISO 8601)
- inCreateUser – ключ пользователя, создавшего счёт
- inNotes – примечания к счёту
- inDogovors – ссылка на договор(а)
- inCheckInDate – дата заезда по счёту (ISO 8601)
- inPaymentDate – срок оплаты по счёту (ISO 8601)
- inIsDeleted – пометка удаления: true / false
- inCheckInEnd – дата выезда по счёту (ISO 8601)
- inInvoiceType – тип счёта (код)
- inNumberVersion – версия номера счёта
- inInvoiceKind – вид счёта (код)
- login – логин пользователя, оформившего бронь
- status – статус брони
- key – текстовое обозначение/код статуса
- value – числовой код статуса
- roomsCount – количество комнат
- adultsCount – количество взрослых
- childrenCount – количество детей
- mainTourist – ФИО основного туриста
- tourists – список туристов (ФИО в строковом виде)
- roomDetails – детализация по комнатам
- adults – количество взрослых в комнате
- children – количество детей в комнате
- payment_policies – платёжные условия по брони
- description – текстовое описание условий
- prepayDateTo – крайний срок предоплаты (ISO 8601)
- prepayAmount – размер предоплаты
- nonrefAmount – невозвратная часть
- payDateTo – крайний срок полной оплаты (ISO 8601)
- payAmount – сумма к оплате
- rate – обозначение тарифа
- generatedName – сгенерированное имя условий
- childrenAges – список возрастов детей по выборке
- adults – суммарное количество взрослых по выборке
|
Вызов метода /booking/GetReservations
POST http://localhost:7700/booking/GetReservations
{
"sorting": {
"property": "string",
"descending": true
},
"paging": {
"number": 0,
"size": 0
},
"tourCreateDate": {
"from": "2025-10-05T21:42:47.492Z",
"to": "2025-10-05T21:42:47.492Z"
},
"tourDateFrom": {
"from": "2025-10-05T21:42:47.492Z",
"to": "2025-10-05T21:42:47.492Z"
},
"tourDateTo": {
"from": "2025-10-05T21:42:47.492Z",
"to": "2025-10-05T21:42:47.492Z"
},
"tourPrePayment": {
"from": "2025-10-05T21:42:47.492Z",
"to": "2025-10-05T21:42:47.492Z"
},
"tourPayment": {
"from": "2025-10-05T21:42:47.492Z",
"to": "2025-10-05T21:42:47.492Z"
},
"dogovorCode": "string",
"hotels": [
0
],
"cities": [
0
],
"statuses": [
0
],
"logins": [
0
],
"touristSurname": "string"
}
Возвращаемый результат: {
"message": "string",
"error": "string",
"count": 0,
"data": [
{
"code": "string",
"customerCode": "string",
"key": 0,
"city": {
"key": "string",
"value": 0
},
"region": {
"key": "string",
"value": 0
},
"hotel": {
"key": 0,
"name": "string",
"fullName": "string",
"fullContextName": "string",
"regionKey": 0,
"cityKey": 0,
"categoryKey": 0,
"dates": {
"from": "2025-10-05T21:42:48.852Z",
"to": "2025-10-05T21:42:48.852Z"
},
"mealsKeys": [
0
],
"hasDescription": true
},
"extraHotels": [
{
"key": 0,
"name": "string",
"fullName": "string",
"fullContextName": "string",
"regionKey": 0,
"cityKey": 0,
"categoryKey": 0,
"dates": {
"from": "2025-10-05T21:42:48.852Z",
"to": "2025-10-05T21:42:48.852Z"
},
"mealsKeys": [
0
],
"hasDescription": true
}
],
"duration": 0,
"tourStart": "2025-10-05T21:42:48.852Z",
"tourEnd": "2025-10-05T21:42:48.852Z",
"createDate": "2025-10-05T21:42:48.852Z",
"price": 0,
"paid": 0,
"rate": "string",
"invoicesIssued": [
{
"inId": 0,
"inCustomerKey": 0,
"inProviderKey": 0,
"inNumber": "string",
"inCurrency": "string",
"inPrice": 0,
"inPayed": 0,
"inCreateDate": "2025-10-05T21:42:48.852Z",
"inCreateUser": 0,
"inNotes": "string",
"inDogovors": "string",
"inCheckInDate": "2025-10-05T21:42:48.852Z",
"inPaymentDate": "2025-10-05T21:42:48.852Z",
"inIsDeleted": true,
"inCheckInEnd": "2025-10-05T21:42:48.852Z",
"inInvoiceType": 0,
"inNumberVersion": 0,
"inInvoiceKind": 0
}
],
"login": "string",
"status": {
"key": "string",
"value": 0
},
"roomsCount": 0,
"adultsCount": 0,
"childrenCount": 0,
"mainTourist": "string",
"tourists": [
"string"
],
"roomDetails": [
{
"adults": 0,
"children": 0
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T21:42:48.852Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T21:42:48.852Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
}
}
],
"childrenAges": [
0
],
"adults": 0
}
|
Получение фильтров для экрана заявок (GetReservationsFilters)
Метод: GET /booking/GetReservationsFilters
- Формат запроса:
- Принимаемые параметры отсутствуют
Возвращаемый результат:
- statuses – список доступных статусов бронирований для фильтрации
- key – текстовое обозначение/код статуса
- value – числовой код статуса
- cities – список городов для фильтрации
- key – ключ города
- name – название города
- type – тип населённого пункта (например, «city», «resort»)
- regions – список регионов для фильтрации
- key – ключ региона
- name – название региона
- type – тип территориальной единицы
- countries – список стран для фильтрации
- key – код страны (наименование/ISO-код)
- value – числовой ключ страны
- hotels – список отелей для фильтрации
- key – ключ отеля
- name – краткое имя отеля
- fullName – полное имя отеля
- fullContextName – имя с контекстом (город/регион)
- regionKey – ключ региона
- cityKey – ключ города
- categoryKey – ключ категории/звёздности
- dates – доступные даты проживания
- from – дата начала периода (ISO 8601)
- to – дата окончания периода (ISO 8601)
- mealsKeys – список ключей доступных типов питания
- hasDescription – наличие описания у отеля: может быть true (описание есть) или false (описания нет)
- logins – список пользователей, по которым можно фильтровать брони
- key – логин/идентификатор пользователя
- value – числовой ключ пользователя
- statuses – список доступных статусов бронирований для фильтрации
|
Вызов метода /booking/GetReservationsFilters
GET http://localhost:7700/booking/GetReservationsFilters
Возвращаемый результат:
{
"statuses": [
{
"key": "string",
"value": 0
}
],
"cities": [
{
"key": 0,
"name": "string",
"type": "string"
}
],
"regions": [
{
"key": 0,
"name": "string",
"type": "string"
}
],
"countries": [
{
"key": "string",
"value": 0
}
],
"hotels": [
{
"key": 0,
"name": "string",
"fullName": "string",
"fullContextName": "string",
"regionKey": 0,
"cityKey": 0,
"categoryKey": 0,
"dates": {
"from": "2025-10-05T21:52:40.981Z",
"to": "2025-10-05T21:52:40.981Z"
},
"mealsKeys": [
0
],
"hasDescription": true
}
],
"logins": [
{
"key": "string",
"value": 0
}
]
}
|
Получение параметров услуг (GetChangingServiceParams)
Метод: GET /booking/GetChangingServiceParams
- Формат запроса:
- Принимаемые параметры:
- dlKey – ключ (идентификатор) услуги в брони, для которой требуется получить параметры изменения
Возвращаемый результат:
- dlKey – ключ услуги, для которой возвращены параметры
- serviceType – тип услуги (код; например, проживание, трансфер и т.п.)
- dateFrom – текущая дата начала услуги (ISO 8601)
- dateTo – текущая дата окончания услуги (ISO 8601)
- roomKey – текущий выбранный номер (ключ)
- pansionKey – текущий выбранный тип питания (ключ)
- guests – список гостей по услуге
- first_name – имя гостя
- last_name – фамилия гостя
- is_child – признак «гость — ребёнок»: может быть true (ребёнок) или false (взрослый)
- age – возраст гостя
- birthday – дата рождения (ISO 8601)
- gender – пол
- email – e-mail гостя
- phone – телефон гостя
- isMain – признак «главный гость» по услуге: может быть true (главный) или false (обычный)
- id – идентификатор гостя
- availableRooms – доступные варианты номеров для изменения
- id – идентификатор варианта номера
- name – наименование варианта номера
- bed_groups – группы спальных мест
- id – идентификатор группы
- name – имя группы
- bed_types – типы кроватей
- name – тип кровати
- quantity – количество
- allotment – доступная квота по номеру
- roomVariant – код варианта номера
- roomAccommodation – тип размещения (например, DBL, TRPL)
- availablePansions – доступные типы питания
- id – идентификатор питания
- name – наименование питания
- code – код питания
- removeExtras – список ключей допуслуг, которые будут сняты при изменении
|
Вызов метода /booking/GetChangingServiceParams
GET http://localhost:7700/booking/GetChangingServiceParams?dlKey=7001
Возвращаемый результат:
{
"dlKey": 0,
"serviceType": 0,
"dateFrom": "2025-10-05T21:55:50.991Z",
"dateTo": "2025-10-05T21:55:50.991Z",
"roomKey": 0,
"pansionKey": 0,
"guests": [
{
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
}
],
"availableRooms": [
{
"id": "string",
"name": "string",
"bed_groups": [
{
"id": "string",
"name": "string",
"bed_types": [
{
"name": "string",
"quantity": 0
}
]
}
],
"allotment": 0,
"roomVariant": 0,
"roomAccommodation": "string"
}
],
"availablePansions": [
{
"id": "string",
"name": "string",
"code": "string"
}
],
"removeExtras": [
0
]
}
|
Проверка измененных параметров услуг (CheckChangingServiceParams)
Метод: POST /booking/CheckChangingServiceParams
- Формат запроса:
- Принимаемые параметры (Request body):
- dlKey – ключ (идентификатор) услуги в брони, для которой выполняется проверка изменения
- serviceType – тип услуги (код), которую планируется изменить
Возвращаемый результат: (предпросмотр доступных условий и цены после изменения)
- id – идентификатор рассчитанного варианта
- price – итоговая цена варианта
- commission – комиссия
- meals – доступные варианты питания
- id – идентификатор питания
- name – наименование питания
- code – код питания
- cancellation_policies – краткие правила отмены
- from – момент начала действия указанного правила
- amount – величина удержания по правилу
- cancellation_policies_extended – расширенные правила отмены
- policyKey – ключ правила
- dateFrom – период действия «с»
- dateTo – период действия «по»
- penaltyValue – величина штрафа
- isPercent – формат величины штрафа: может быть true (в процентах) или false (фиксированная сумма)
- description – описание правила
- payment_policies – платёжные условия по варианту
- description – текстовое описание условий
- prepayDateTo – крайний срок предоплаты
- prepayAmount – сумма предоплаты
- nonrefAmount – невозвратная часть
- payDateTo – крайний срок полной оплаты
- payAmount – сумма к оплате
- rate – обозначение тарифа
- generatedName – сгенерированное имя условий
- addHots – дополнительные «горячие» услуги/надбавки
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно ли удалить эту услугу: может быть true (можно) или false (нельзя)
- cancellationPolicy – политика отмены для услуги
- extraServices – дополнительные услуги
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно ли удалить: может быть true или false
- cancellationPolicy – политика отмены
- rooms – доступные варианты номеров
- id – идентификатор номера
- name – наименование номера
- bed_groups – группы спальных мест
- id – идентификатор группы
- name – имя группы
- bed_types – типы кроватей
- name – тип кровати
- quantity – количество
- allotment – доступная квота
- roomVariant – код варианта номера
- roomAccommodation – тип размещения
- quotaType – тип квоты/наличия
- quotaPlaces – сведения о квотах/местах
- key – ключ
- value – значение
- bruttoDetail – текстовая детализация суммы брутто
- uniqueCode – уникальный код рассчитанного варианта
- guests – список гостей, для которых проверяется изменение
- first_name – имя гостя
- last_name – фамилия гостя
- is_child – признак «ребёнок»: может быть true (ребёнок) или false (взрослый)
- age – возраст
- birthday – дата рождения
- gender – пол (код)
- email – e-mail
- phone – телефон
- isMain – признак «главный гость»: может быть true или false
- id – идентификатор гостя
|
Вызов метода /booking/CheckChangingServiceParams
POST http://localhost:7700/booking/CheckChangingServiceParams
{ "dlKey": 7001, "serviceType": 1 }
Возвращаемый результат: {
"id": "string",
"price": 0,
"commission": 0,
"meals": [
{
"id": "string",
"name": "string",
"code": "string"
}
],
"cancellation_policies": [
{
"from": "string",
"amount": 0
}
],
"cancellation_policies_extended": [
{
"policyKey": 0,
"dateFrom": "2025-10-05T22:01:28.034Z",
"dateTo": "2025-10-05T22:01:28.034Z",
"penaltyValue": 0,
"isPercent": true,
"description": "string"
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T22:01:28.034Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T22:01:28.034Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
},
"addHots": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"extraServices": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"rooms": [
{
"id": "string",
"name": "string",
"bed_groups": [
{
"id": "string",
"name": "string",
"bed_types": [
{
"name": "string",
"quantity": 0
}
]
}
],
"allotment": 0,
"roomVariant": 0,
"roomAccommodation": "string"
}
],
"quotaType": 0,
"quotaPlaces": {
"key": "string",
"value": 0
},
"bruttoDetail": "string",
"uniqueCode": "string",
"guests": [
{
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
}
]
}
|
Изменение параметров услуг (SaveChangingServiceParams)
Метод: POST /booking/SaveChangingServiceParams
- Формат запроса:
- Принимаемые параметры:
- dogovorKey – ключ бронирования/договора, для которого сохраняются изменения
- Принимаемые параметры (Request body):
- dlKey – ключ услуги, которую нужно изменить
- serviceType – тип услуги (код)
Возвращаемый результат:
- reservation_id – идентификатор брони
- reservation_key – ключ брони
- client_reference_id – внешний референс клиента
- status_key – код статуса брони
- status_name – имя статуса брони
- price – итоговая стоимость
- paid – оплаченная сумма
- create_date – дата/время создания брони
- confirmation_date – дата/время подтверждения
- check_in – дата/время заезда
- check_out – дата/время выезда
- pay_to – крайний срок полной оплаты
- prepay_to – крайний срок предоплаты
- reserved_by – логин/имя пользователя, оформившего бронь
- hotel_id – идентификатор отеля
- doc_invoice – связанные счета/документы
- fileKey – ключ файла
- invoiceKey – ключ счёта
- invoiceName – название счёта
- fileName – имя файла
- updateDate – дата обновления
- doc_invoice – связанные счета/документы
- messages – сообщения/журнал обмена
- dmId – идентификатор сообщения
- dmIsOutgoing – направление: может быть true (исходящее) или false (входящее)
- dmDgkey – ключ брони
- dmRemark – примечание
- dmTypeCode – код типа сообщения
- dmTableId – связанный идентификатор записи
- dmProcessed – признак обработки: может быть true или false
- dmCreateDate – дата/время создания
- dmText – текст сообщения
- dmTourOperKey – идентификатор туроператора
- dmXml – «сырое» XML-содержимое
- dmSendername – имя отправителя
- dmExternalId – внешний идентификатор сообщения
- dmDir – направление (код)
- dmIsRead – признак «прочитано»: может быть true или false
- messages – сообщения/журнал обмена
- rates – тарифы/варианты размещения с учётом сохранённых изменений
- id – идентификатор тарифа
- price – цена тарифа
- basicPrice – базовая цена
- bar_price – цена BAR
- commission – комиссия
- supplier_min_price – минимальная цена поставщика
- taxes – налоги/сборы
- type – тип налога/сбора
- currency – валюта
- is_included – налог включён в цену: может быть true или false
- amount – сумма
- payment_type – тип оплаты по тарифу
- currency – валюта тарифа
- basicCurrency – базовая валюта
- meals – включённые типы питания
- id – идентификатор питания
- name – наименование питания
- code – код питания
- cancellation_policies – краткие правила отмены
- from – момент начала действия правила
- amount – величина удержания
- cancellation_policies_extended – расширенные правила отмены
- policyKey – ключ правила
- dateFrom – период действия «с»
- dateTo – период действия «по»
- penaltyValue – величина штрафа
- isPercent – формат штрафа: может быть true (проценты) или false (фиксированная сумма)
- description – описание правила
- payment_policies – платёжные условия
- description – текст условий
- prepayDateTo – срок предоплаты
- prepayAmount – сумма предоплаты
- nonrefAmount – невозвратная часть
- payDateTo – срок полной оплаты
- payAmount – сумма к оплате
- rate – обозначение тарифа
- generatedName – сгенерированное имя условий
- addHots – «горячие» допуслуги/надбавки
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно удалить: может быть true или false
- cancellationPolicy – политика отмены
- extraServices – дополнительные услуги
- count – количество
- description – описание
- brutto – сумма брутто
- canDeleteService – можно удалить: может быть true или false
- cancellationPolicy – политика отмены
- manualExtraServices – вручную добавленные услуги
- id – строковый идентификатор
- key – ключ
- date_from – дата начала
- date_to – дата окончания
- duration – длительность
- is_duration – услуга длительная: может быть true или false
- guests – ключи гостей
- price – цена
- currency – валюта
- serviceClass – класс услуги
- key – ключ класса
- name – наименование класса
- service – тип/вид услуги
- key – ключ типа
- name – наименование типа
- linkType – тип связи услуги с бронированием
- key – ключ типа связи
- name – наименование типа связи
- isGroup – групповая услуга: может быть true или false
- isCalculated – рассчитана системой: может быть true или false
- rates – тарифы/варианты размещения с учётом сохранённых изменений
- rooms – номера/варианты размещения
- id – идентификатор варианта номера
- name – наименование варианта номера
- bed_groups – группы спальных мест
- id – идентификатор группы спальных мест
- name – наименование группы
- bed_types – типы кроватей в группе
- name – тип/формат кровати
- quantity – количество таких кроватей
- allotment – доступная квота
- roomVariant – код варианта номера
- roomAccommodation – тип размещения
- rooms – номера/варианты размещения
- guestGroup – агрегированная группа гостей
- adults – количество взрослых
- children_ages – список возрастов детей
- groupMultiplier – множитель группы
- guestGroup – агрегированная группа гостей
- guests – гости тарифа
- first_name – имя гостя
- last_name – фамилия гостя
- is_child – признак ребёнка: может быть true или false
- age – возраст
- birthday – дата рождения
- gender – пол (код)
- email – e-mail
- phone – телефон
- isMain – признак «главный гость»: может быть true или false
- id – идентификатор гостя
- guests – гости тарифа
- quotaType – тип квоты/наличия
- quotaPlaces – квоты/места
- key – ключ/код квоты
- value – значение квоты/оставшихся мест
- bruttoDetail – текстовая детализация суммы брутто
- uniqueCode – уникальный код варианта
- city – город
- key – наименование/код города
- value – ключ города
- region – регион
- key – наименование/код региона
- value – ключ региона
- hotel – отель
- key – наименование/код отеля
- value – ключ отеля
- isAnul – услуга аннулирована: может быть true или false
- notes – заметки
- hotelExtra – дополнительные сведения по отелю
- provider – код/идентификатор поставщика
- isEditable – можно редактировать: может быть true или false
- payment_policies – платёжные условия по всей брони
- description – текст условий
- prepayDateTo – срок предоплаты
- prepayAmount – сумма предоплаты
- nonrefAmount – невозвратная часть
- payDateTo – срок полной оплаты
- payAmount – сумма к оплате
- rate – обозначение тарифа
- generatedName – сгенерированное имя условий
- payment_policies – платёжные условия по всей брони
- transfers – трансферы
- id – идентификатор типа трансфера
- key – ключ варианта
- date – дата/время трансфера
- guests – ключи гостей
- price – стоимость
- pointTo – пункт назначения
- pointFrom – пункт отправления
- transferName – наименование трансфера
- transferType – тип трансфера
- key – ключ типа трансфера
- name – наименование типа трансфера
- currency – валюта
- routeNumber – номер рейса/маршрута
- isGroup – групповая перевозка: может быть true или false
- maxPax – максимальная вместимость
- transfers – трансферы
|
Вызов метода /booking/SaveChangingServiceParams POST http://localhost:7700/booking/SaveChangingServiceParams?dogovorKey=987654
[
{
"dlKey": 0,
"serviceType": 0
}
]
Возвращаемый результат: {
"reservation_id": "string",
"reservation_key": 0,
"client_reference_id": "string",
"status_key": 0,
"status_name": "string",
"price": 0,
"paid": 0,
"create_date": "2025-10-05T22:14:49.952Z",
"confirmation_date": "2025-10-05T22:14:49.952Z",
"check_in": "2025-10-05T22:14:49.952Z",
"check_out": "2025-10-05T22:14:49.952Z",
"pay_to": "2025-10-05T22:14:49.952Z",
"prepay_to": "2025-10-05T22:14:49.952Z",
"reserved_by": "string",
"hotel_id": 0,
"doc_invoice": [
{
"fileKey": 0,
"invoiceKey": 0,
"invoiceName": "string",
"fileName": "string",
"updateDate": "2025-10-05T22:14:49.952Z"
}
],
"messages": [
{
"dmId": 0,
"dmIsOutgoing": 0,
"dmDgkey": 0,
"dmRemark": "string",
"dmTypeCode": 0,
"dmTableId": 0,
"dmProcessed": 0,
"dmCreateDate": "2025-10-05T22:14:49.952Z",
"dmText": "string",
"dmTourOperKey": 0,
"dmXml": "string",
"dmSendername": "string",
"dmExternalId": 0,
"dmDir": 0,
"dmIsRead": true
}
],
"rates": [
{
"id": "string",
"price": 0,
"basicPrice": 0,
"bar_price": 0,
"commission": 0,
"supplier_min_price": 0,
"taxes": [
{
"type": "string",
"currency": "string",
"is_included": true,
"amount": 0
}
],
"payment_type": "string",
"currency": "string",
"basicCurrency": "string",
"meals": [
{
"id": "string",
"name": "string",
"code": "string"
}
],
"cancellation_policies": [
{
"from": "string",
"amount": 0
}
],
"cancellation_policies_extended": [
{
"policyKey": 0,
"dateFrom": "2025-10-05T22:14:49.952Z",
"dateTo": "2025-10-05T22:14:49.952Z",
"penaltyValue": 0,
"isPercent": true,
"description": "string"
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T22:14:49.952Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T22:14:49.952Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
},
"addHots": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"extraServices": [
{
"count": 0,
"description": "string",
"brutto": 0,
"canDeleteService": true,
"cancellationPolicy": "string"
}
],
"manualExtraServices": [
{
"id": "string",
"key": 0,
"date_from": "2025-10-05T22:14:49.952Z",
"date_to": "2025-10-05T22:14:49.952Z",
"duration": 0,
"is_duration": true,
"guests": [
0
],
"price": 0,
"currency": "string",
"serviceClass": {
"key": 0,
"name": "string"
},
"service": {
"key": 0,
"name": "string"
},
"linkType": {
"key": 0,
"name": "string"
},
"isGroup": true,
"isCalculated": true
}
],
"rooms": [
{
"id": "string",
"name": "string",
"bed_groups": [
{
"id": "string",
"name": "string",
"bed_types": [
{
"name": "string",
"quantity": 0
}
]
}
],
"allotment": 0,
"roomVariant": 0,
"roomAccommodation": "string"
}
],
"guestGroup": {
"adults": 0,
"children_ages": [
0
],
"groupMultiplier": 0
},
"guests": [
{
"first_name": "string",
"last_name": "string",
"is_child": true,
"age": 0,
"birthday": "string",
"gender": 0,
"email": "string",
"phone": "string",
"isMain": true,
"id": 0
}
],
"quotaType": 0,
"quotaPlaces": {
"key": "string",
"value": 0
},
"bruttoDetail": "string",
"uniqueCode": "string",
"city": {
"key": "string",
"value": 0
},
"region": {
"key": "string",
"value": 0
},
"hotel": {
"key": "string",
"value": 0
},
"isAnul": true,
"notes": "string",
"hotelExtra": "string",
"provider": 0,
"isEditable": true
}
],
"payment_policies": {
"description": "string",
"prepayDateTo": "2025-10-05T22:14:49.952Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T22:14:49.952Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
},
"transfers": [
{
"id": "string",
"key": 0,
"date": "2025-10-05T22:14:49.952Z",
"guests": [
0
],
"price": 0,
"pointTo": "string",
"pointFrom": "string",
"transferName": "string",
"transferType": {
"key": 0,
"name": "string"
},
"currency": "string",
"routeNumber": "string",
"isGroup": true,
"maxPax": 0
}
]
}
|
Объединение правил оплаты (MergePaymentPolicy)
Метод: POST /booking/MergePaymentPolicy
- Формат запроса:
- Принимаемые параметры (Request body):
- description – текстовое описание условий оплаты
- prepayDateTo – крайний срок внесения предоплаты (дата/время в ISO 8601)
- prepayAmount – величина предоплаты
- nonrefAmount – невозвратная сумма
- payDateTo – крайний срок полной оплаты (дата/время в ISO 8601)
- payAmount – сумма к полной оплате
- rate – обозначение тарифа/правила, к которому относится политика (например, «BAR»)
- generatedName – сгенерированное системой «короткое имя» политики
Возвращаемый результат:
- description – агрегированное описание платёжных условий
- prepayDateTo – итоговый крайний срок предоплаты
- prepayAmount – итоговая сумма предоплаты
- nonrefAmount – итоговая невозвратная сумма
- payDateTo – итоговый крайний срок полной оплаты
- payAmount – итоговая сумма к оплате
- rate – итоговое обозначение тарифа
- generatedName – сгенерированное имя сводной политики
|
Вызов метода /booking/MergePaymentPolicy POST http://localhost:7700/booking/MergePaymentPolicy
[
{
"description": "string",
"prepayDateTo": "2025-10-05T22:34:46.415Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T22:34:46.415Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
}
]
Возвращаемый результат: {
"description": "string",
"prepayDateTo": "2025-10-05T22:34:47.898Z",
"prepayAmount": 0,
"nonrefAmount": 0,
"payDateTo": "2025-10-05T22:34:47.898Z",
"payAmount": 0,
"rate": "string",
"generatedName": "string"
}
|
Создание сообщений по заявке (CreateReservationMessage)
Метод: GET /booking/CreateReservationMessage
- Формат запроса:
- Принимаемые параметры:
- dgKey – ключ (идентификатор) бронирования, к которому добавляется сообщение
- message – текст сообщения
- senderName – имя/логин отправителя, от чьего имени фиксируется сообщение
- Возвращаемый результат:
- Code 200 OK – сообщение успешно добавлено к бронированию
|
Вызов метода /booking/CreateReservationMessage
GET http://localhost:7700/booking/CreateReservationMessage?dgKey=987654&message=Client%20will%20arrive%20late%20after%2022%3A00&senderName=ipetrov
Возвращаемый результат:
HTTP/1.1 200 OK
|