RUS
  • RUS
  • ENG
  • THA
  • VIE
  • IND
  • MSA
  • HIN
  • TUR

Описание универсального Api WebPMS (версия 1.4.0) — инструкция для разработчиков

Последние изменения: 23.12.2025


Общие данные

1. Требуемый тип содержимого запроса — application/json.

2. Ключ интеграции (apiKey) находится в личном кабинете TravelLine в разделе «Управление отелем» → «Настройки» → блок «Доступ к Универсальному API TL: WebPMS». Его значение необходимо добавлять во все запросы в виде заголовка "X-API-KEY".

3. Описание: WebPms REST API.

4. Типы ответов:

  • В случае успешной обработки запроса ответ 200.
  • В случае отсутствия заголовка "X-API-KEY" или его некорректном значении будет возвращен "HttpStatusCode 401" с описанием ошибки.
  • В случае ошибки обработки входящих данных будет ответ со статусом 400. Также ответ будет содержать список с описанием ошибок. Например: {“errors”: [{“code”:"12”, “message”: “Incorrect dates format"}]}.
  • В случае непредвиденной ошибки будет ответ со статусом 500.


Получение начислений

Для получения данных в формате json используется url: GET https://partner.tlintegration.com/api/webpms/v1/analytics/services

Для получения данных по отмененным бронирования в формате json используется url: GET https://partner.tlintegration.com/api/webpms/v1/analytics/services/cancelled

Для получения данных в виде текстового файла используется url: GET https://partner.tlintegration.com/api/webpms/v1/analytics/services/csv


Формат входящих данных

Параметр

Тип

Описание

startDate

string

(*) Дата начала для формирования отчета. В формате yyyyMMdd

endDate

string

(*) Дата окончания для формирования отчета. В формате yyyyMMdd

dateKind

int

(*) Тип выгрузки по дате

  • 0 — по выезду;
  • 1 — по пребыванию;
  • 2 — по созданию;
  • 3 — по модификации;
  • 4 — по выезду без разделения проживания.

language

string

Двухсимвольный код языка


Обязательные поля помечены (*).

Пример: https://partner.tlintegration.com/api/webpms/v1/analytics/services?startDate=20200204&endDate=20200204&dateKind=0

Максимальная разрешенная разница между датами — 31 день. Максимальная глубина запроса на будущие даты = 1000 дней, то есть можно запрашивать данные на ~3 года вперед.

В режиме dateKind == 0 (по выезду) выгружается вся информация о бронированиях, если дата их выезда попала в запрашиваемый период. В случае, если дата окончания выгрузки приходится на конец месяца, бронирования, по которым гости живут, но день выезда еще не наступил, будут разделены — днем окончания бронирования будет считаться последний день месяца. Бронирования, для которых дата начала была в предыдущем месяце, будут разделены — днем начала бронирования будет считаться первый день месяца.

В режиме dateKind == 1 (по пребыванию) выгружается информация о начислениях, пришедшихся только на запрашиваемый период.

В режиме dateKind == 2 (по созданию) выгружается вся информация о бронированиях, созданных в запрашиваемый период.

В режиме dateKind == 4 (по выезду без разделения проживания) выгружается вся информация о бронированиях, если дата их выезда попала в запрашиваемый период. Разделение бронирования как в режиме dateKind == 0 не происходит.

Для получения данных по отмененным броням, работает только режим dateKind == 1 (по пребыванию), в остальных режимах запрос вернёт ошибку.


Формат результата (json)

{“data”: {"services": [], "customers": [], "agents": [], "reservations": [], "roomTypes": []}}

Services — список выгружаемых услуг. Это части брони, а именно проживание, дополнительные услуги, ранний заезд, поздний выезд и трансферы. Данные выгружаются подневно, таким образом четырехдневное проживание будет представлено 4 записями.

Параметр

Тип

Описание

id

string(64)

Уникальный идентификатор услуги

kind

int

Тип услуги:

  • 0 — проживание;
  • 1 — дополнительная услуга;
  • 2 — трансфер;
  • 3 — ранний заезд;
  • 4 — поздний выезд.

name

string

Название услуги

amount

decimal

Сумма с учетом скидки

discount

decimal

Сумма скидки

vatKind

int

Тип НДС:

  • 0 — Не облагается НДС;
  • 1 — Облагается НДС по ставке 0%;
  • 2 — Облагается НДС по ставке 10%;
  • 3 — Облагается НДС по ставке 18%;
  • 4 — Облагается НДС по ставке 10/110;
  • 5 — Облагается НДС по ставке 18/118;
  • 6 — Облагается НДС по ставке 20/120;
  • 7 — Облагается НДС по ставке 20%;
  • 8 — Облагается НДС по ставке 12%;
  • 9 — Облагается НДС по ставке 5%;
  • 10 — Облагается НДС по ставке 7%;
  • 11 — Облагается НДС по ставке 5/105;
  • 12 — Облагается НДС по ставке 7/107;
  • 13 — Облагается НДС по ставке 9%;
  • 14 — Облагается НДС по ставке 9/109;
  • 15 — Облагается НДС по ставке 16%;
  • 16 — Облагается НДС по ставке 22/122;
  • 17 — Облагается НДС по ставке 22%.

vat

decimal

Сумма НДС

quantity

int

Количество

date

string

Дата оказания услуги. В формате yyyyMMdd

reservationId

long

Идентификатор проживания

optionCategory

string

Категория дополнительной услуги

isIncluded

bool

Признак включенной в стоимость услуги


Идентификатор услуги представляет из себя уникальную в рамках всех бронирований строку. Он рассчитывается на основании комбинации следующих параметров: номер бронирования, идентификатор проживания, тип услуги и некоторых внутренних для системы управления отелем значений. Для услуг с типами «проживание», «ранний заезд» и «поздний выезд» он будет одинаковым в рамках одного номера.


Customers — список с информацией о плательщиках по бронированию.

Параметр

Тип

Описание

index

int

Индекс для сопоставления со списком услуг

id

long

Идентификатор плательщика

name

string

Название плательщика. ФИО для физического лица или название компании

customerKind

int

Тип плательщика:

  • 0 — компания;
  • 1 — физическое лицо.

inn

string

ИНН

kpp

string

КПП

phone

string

Телефон (первый телефон, если плательщик физ. лицо)

email

string

Email (первый Email, если плательщик физ. лицо)

legalAddress

string

Юридический адрес, если плательщик комания

mailingAddress

string

Почтовый адрес, если плательщик компания


Уникальный ключ плательщика — это сочетание id и customerKind.


Agents — список с информацией об агентах по бронированию.

Параметр

Тип

Описание

index

int

Индекс для сопоставления со списком услуг

id

long

Идентификатор плательщика

name

string

Название плательщика. ФИО для физического лица или название компании

inn

string

ИНН

kpp

string

КПП

phone

string

Телефон

email

string

Email

legalAddress

string

Юридический адрес

mailingAddress

string

Почтовый адрес


Reservations — список с информацией о бронированиях.

Параметр Тип Описание
id long Идентификатор проживания
customerIndex int Индекс элемента из списка плательщиков. Плательщиком будет либо компания-заказчик из бронирования, если она указана, либо заказчик из бронирования – физическое лицо.
agentIndex int\null Индекс элемента из списка агентов. Заполняется, только если в брони есть компания-агент
currency string Трехсимвольный буквенный код валюты
currencyRate decimal Курс обмена валюты к базовой валюте
bookingNumber string Номер бронирования
roomNumber string Название комнаты
guestId string Уникальный идентификатор «титульного» гостя в проживании
guestName string ФИО «титульного» гостя в проживании
guestCount int Количество гостей в проживании
checkInDateTime string Дата и время заезда: если есть фактическая, то она, иначе — плановая. В формате yyyyMMddHHmm
checkOutDateTime string Дата и время выезда: если есть фактическая, то она, иначе — плановая. В формате yyyyMMddHHmm
permitNumber string Номер путевки
isDeparted bool Зафиксирован ли выезд
isArrived bool Зафиксирован ли заезд
paymentMethod int

Метод оплаты по бронированию:

  • 0 — неизвестный;
  • 1 — банковская карта;
  • 2 — электронный платеж;
  • 3 — безналичный расчет для юр. лиц;
  • 4 — при заселении;
  • 5 — банковский перевод для физ. лиц;
  • 6 — внешняя система оплаты;
  • 7 — гарантия банковской картой;
  • 8 — кредит;
  • 9 — система быстрых платежей.
roomTypeId int Идентификатор категории номера
customerCompany string Название компании-заказчика из бронирования
payerCompany string Название компании-агента из бронирования
total decimal Итого за проживание (за весь период проживания)
tax decimal Налог за проживание (за весь период проживания)
paid decimal Оплачено за проживание (за весь период проживания)
balance decimal Баланс оплат по проживанию (за весь период проживания)
creationDateTime string Дата и время создания бронирования. В формате yyyyMMddHHmm
folioNumber string Номер счета брони.
Для бронирований со способом оплаты «Безналичный расчет для юр. лиц (счет выставлять автоматически)» будет номер «Счета на предоплату по безналу», для всех остальных — последние цифры номера бронирования
marketCode marketCode Информация о сегменте рынка
bookingSource string Источник бронирования


RoomTypes — список с информацией о категориях номеров.

Параметр

Тип

Описание

id

int

Идентификатор категории номера

name

string

Название категории номера


marketCode — информация о сегменте рынка.

Параметр

Тип

Описание

name

string

Наименование

code

string

Код


Формат результата (текстовый файл)

При успешном формировании результата будет ответ со статусом 200 и типом содержимого "ContentType: text/csv" и "Content-Disposition: attachment; filename="XXX_YYY.csv".

Порядок полей:

1. Идентификатор провайдера;

2. Дата оказания услуги;

3. Идентификатор услуги;

4. Название услуги;

5. Сумма услуги с учетом скидки;

6. Сумма скидки для услуги;

7. Количество услуги;

8. Категория дополнительной услуги;

9. Количество гостей в номере;

10. Код валюты;

11. Курс обмена валюты к базовой валюте;

12. Сумма НДС;

13. Тип НДС;

14. Идентификатор плательщика;

15. Имя (название) плательщика;

16. Тип плательщика (юр. лицо / физ. лицо — 0/1);

17. ИНН плательщика;

18. КПП плательщика;

19. Номер бронирования;

20. Идентификатор проживания;

21. ФИО «титульного» гостя в проживании;

22. Дата и время заезда;

23. Дата и время выезда;

24. Номер комнаты;

25. Номер путевки;

26. Зафиксирован ли выезд (да/нет – 1/0);

27. Метод оплаты по брони;

28. Категория номера;

29. Название компании-заказчика;

30. Название компании-агента;

31. Итого за проживание (за весь период проживания);

32. Налог за проживание (за весь период проживания);

33. Оплачено за проживание (за весь период проживания);

34. Баланс оплат по проживанию (за весь период проживания);

35. Дата и время создания бронирования;

36. Номер счета бронирования;

37. Первый телефон компании-заказчика;

38. Первый Email компании-заказчика;

39. Юридический адрес компании-заказчика;

40. Почтовый адрес компании-заказчика;

41. Номер компании-агента;

42. ИНН компании-агента;

43. КПП компании-агента;

44. Первый телефон компании-агента;

45. Первый Email компании-агента;

46. Юридический адрес компании-агента;

47. Почтовый адрес компании-агента;

48. Зафиксирован ли заезд (да/нет – 1/0);

49. Признак включенной в стоимость услуги (да/нет – 1/0);

50. Наименование сегмента рынка;

51. Код сегмента рынка;

52. Источник бронирования.


Получение платежей по бронированиям

Для получения данных в формате json используется url: GET https://partner.tlintegration.com/api/webpms/v1/analytics/payments

Для получения данных в виде текстового файла используется url: GET https://partner.tlintegration.com/api/webpms/v1/analytics/payments/csv


Формат входящих данных

Параметр

Тип

Описание

startDateTime

string

(*) Момент времени начала для формирования отчета. В формате yyyyMMddHHmm

endDateTime

string

(*) Момент времени окончания для формирования отчета. В формате yyyyMMddHHmm

includeServices

boolean

Включить в выдачу начисления, связанные с данными платежами

includeExternalPayments

boolean

Включить в выдачу предоплаты, проведенные вне WebPms. Например предоплата, оформленная гостем на сайте

language

string

Двухсимвольный код языка


Обязательные поля помечены (*).

Пример: https://partner.tlintegration.com/api/webpms/v1/analytics/payments?startDateTime=202001040000&endDateTime="202001050000

Максимальная разрешенная разница между датами — 31 день. Запросы на будущие даты не допускаются.

В результат попадают только те платежи, которые были проведены внутри системы управления отелем (WebPMS). Платежи, оформленные из депозита (со способом оплаты «Депозит»), также не попадают в результат.

При выставленном параметре includeServices, разрешенная разница между датами уменьшается до 7 дней. Использование этого параметра доступно только для выгрузки в JSON-формате. В ответе будут все начисления по затронутым платежами проживаниям. То есть, если оплачено проживание по брони, то в ответе будут не только начисления по проживанию, но и по всем услугам или трансферам и т. д. этого бронирования.


Формат результата (json)

{“data”: {"payments": [], "customers": [], "roomTypes": [], "services": [], "agents": [], "reservations": []}}

Payments — список с информацией о платежах за услуги бронирования.

Параметр

Тип

Описание

id

long

Уникальный идентификатор платежа

bookingNumber

string

Номер бронирования

serviceId

string(64)

Идентификатор услуги, по которой проведен платеж

folioNumber

string

Номер счета

actionKind

int

Тип оплаты:

  • 0 — оплата;
  • 1 — возврат;
  • 2 — отмена оплаты;
  • 3 — отмена возврата;
  • 4 — предоплата.

kind

int

Признак способа расчета:

  • 0 — не указан;
  • 1 — предоплата 100% (полная предварительная оплата до момента передачи предмета расчета);
  • 2 — предоплата (частичная предварительная оплата до момента передачи предмета расчета);
  • 3 — аванс;
  • 4 — полный расчет (полная оплата, в том числе с учетом аванса в момент передачи предмета расчета);
  • 5 — частичный расчет и кредит (частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит);
  • 6 — передача в кредит (передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит);
  • 7 — оплата кредита (оплата предмета расчета после его передачи с оплатой в кредит).

isCheckPrinted

bool

Напечатан ли чек. В расчет принимаются чеки (первый чек — не на зачет аванса), напечатанные с использованием интеграции TL: WebPMS с фискальным регистратором.

amount

decimal

Сумма

vatKind

int

Тип НДС

vat

decimal

Сумма НДС

quantity

int

Количество

dateTime

string

Дата и время оформления платежа. В формате yyyyMMddHHmm

paymentDateTime

string

Дата и время совершения платежа. В формате yyyyMMddHHmm

paymentMethod

int

Метод оплаты:

  • 0 — наличные;
  • 1 — электронный платеж.

paymentSystem

string

Способ оплаты

customerIndex

int

Индекс элемента из списка плательщиков.

Равен –1, если у счета не выбран плательщик

currency

string

Трехсимвольный буквенный код валюты

currencyRate

decimal

Курс обмена валюты к базовой валюте

roomTypeId

int

Идентификатор категории номера

username

string

Логин пользователя, совершившего платеж

cancellationDateTime

string

Дата и время отмены платежа. В формате yyyyMMddHHmm

cancelledByUsername

string

Логин пользователя, отменившего платеж

commet

string

Комментарий к платежу


Customers — список с информацией о плательщиках по счету. Может быть как физическим лицом, так и компанией. Структура объектов аналогична плательщикам из запроса по начислениям. Уникальный ключ плательщика — это сочетание id и customerKind.

RoomTypes — список с информацией о категориях номеров. Структура объектов аналогична категориям номеров из запроса по начислениям.

Services[1] — список с информацией о начислениях, связанных с платежами. Структура объектов аналогична категориям номеров из запроса по начислениям.

Agents Error! Bookmark not defined. — список с информацией по агентам бронирований. Структура объектов аналогична категориям номеров из запроса по начислениям.

Reservations Error! Bookmark not defined. — список с информацией о бронированиях. Структура объектов аналогична категориям номеров из запроса по начислениям.

[1] Будут в ответе, только если при запросе был выставлен параметр includeServices


Формат результата (текстовый файл)

При успешном формировании результата будет ответ со статусом 200 и типом содержимого "ContentType: text/csv" и "Content-Disposition: attachment; filename="XXX_YYY.csv".

Порядок полей:

1. Идентификатор провайдера;

2. Дата и время оформления платежа;

3. Дата и время совершения платежа;

4. Тип оплаты;

5. Признак способа расчета;

6. Метод оплаты (0 — наличные, 1 — электронный платеж);

7. Способ оплаты;

8. Идентификатор услуги;

9. Сумма;

10. Количество;

11. Код валюты;

12. Курс обмена валюты к базовой валюте;

13. Сумма НДС;

14. Тип НДС;

15. Идентификатор плательщика;

16. Имя (название) плательщика;

17. Тип плательщика (юр. лицо / физ. лицо — 1/0);

18. ИНН плательщика;

19. КПП плательщика;

20. Номер бронирования;

21. Номер счета;

22. Категория номера;

23. Логин пользователя, совершившего платеж;

24. Дата и время отмены платежа;

25. Логин пользователя, отменившего платеж;

26. Уникальный идентификатор платежа;

27. Напечатан ли чек.


Получение бронирования

GET https://partner.tlintegration.com/api/webpms/v1/bookings/{number}

number — номер бронирования в системе TravelLine.

Пример: https://.../v1/bookings/20210101-0123-1234567


Формат входящих данных

Параметр

Тип

Описание

language

string

Двухсимвольный код языка


Формат результата

Booking — бронирование.

Параметр

Тип

Описание

id

string

Идентификатор бронирования

number

string

Номер бронирования в системе TravelLine

customerLanguage

string

Язык бронирования

visitPurpose

DictionaryItem

Цель визита

customerComment

string

Комментарий заказчика

lastModified

string

Дата последней модификации бронирования в формате yyyyMM-ddTHH:mm:ssZ (временная зона UTC)

groupName

string

Название группы

currencyId

string

Валюта

customer

Customer

Заказчик

customerCompany

Company

Компания-заказчик

roomStays

RoomStay[]

Проживания

source

DictionaryItem

Источник

sourceChannelName

string

Название канала


Customer — информация о заказчике.

Параметр

Тип

Описание

id

string

Уникальный идентификатор гостя

lastName

string

Фамилия

firstName

string

Имя

middleName

string

Отчество

birthDate

string

Дата рождения гостя в формате yyyy-MM-dd

citizenshipCode

string

Гражданство (трехсимвольный код страны)

status

DictionaryItem

Статус

emails

string[]

Электронные адреса

phones

string[]

Телефоны

gender

string

Пол


DictionaryItem — элемент справочника.

Параметр

Тип

Описание

key

string

Ключ

value

string

Значение


Company — информация о компании.

Параметр

Тип

Описание

id

string

Идентификатор компании

name

string

Название


RoomStay — информация о проживании.

Параметр

Тип

Описание

id

string

Идентификатор проживания

bookingId

string

Идентификатор бронирования

roomId

string

Идентификатор номера/комнаты

roomTypeId

string

Идентификатор категории номера

checkInDateTime

string

Дата заезда. В формате yyyy-MM-ddTHH:mm

checkOutDateTime

string

Дата выезда. В формате yyyy-MM-ddTHH:mm

actualCheckInDateTime

string

Фактическая дата заезда. В формате yyyy-MM-ddTHH:mm

actualCheckOutDateTime

string

Фактическая дата выезда. В формате yyyy-MM-ddTHH:mm

status

string

Статус проживания:

  • CheckedIn — заселена;
  • CheckedOut — выселена;
  • Cancelled — отменена;
  • New — во всех остальных случаях.

bookingStatus

string

Статус бронирования:

  • Confirmed — подтверждено;
  • Cancelled — отмененено;
  • Pending — ожидается оплата.

guestCountInfo

GuestCountInfo

Информация о количестве гостей

guestsIds

string[]

Идентификаторы гостей

totalPrice

TotalPrice

Информация о стоимости

amenities

Amenity[]

Предпочтения


GuestCountInfo — информация о количестве гостей.

Параметр

Тип

Описание

adults

int

Количество взрослых

children

int

Количество детей


TotalPrice — информация о стоимости и оплатах.

Параметр

Тип

Описание

amount

decimal

Полная стоимость проживания, включая услуги, ранний заезд/поздний выезд, но не включая налоги

toPayAmount

decimal

Сумма, доступная к оплате

toRefundAmount

decimal

Сумма, доступная к возврату


Amenity — список предпочтений в проживании.

Параметр

Тип

Описание

name

string

Название


Поиск бронирований

GET https://partner.tlintegration.com/api/webpms/v1/bookings


Формат входящих данных

Параметр

Тип

Описание

roomId

string

Идентификатор номера/комнаты

modifiedFrom

string

Проживание было модифицировано «с». В формате yyyy-MMddTHH:mm

modifiedTo

string

Проживание было модифицировано «по». В формате yyyy-MMddTHH:mm

state

string

Требуемое состояние брони:

  • Active — неотмененные бронирования;
  • Cancelled — отмененные.

Если не заполнено, то вернет ошибку Invalid Params

affectsPeriodFrom

string

Проживание пересекается с периодом «с». В формате yyyy-MM-ddTHH:mm

affectsPeriodTo

string

Проживание пересекается с периодом «по». В формате yyyyMM-ddTHH:mm


Хотя бы один из периодов дат должен быть заполнен, или период модификации, или период пересечения, или же оба сразу.

Если какая то из дат периода заполнена, то заполнена должна быть и другая (например, если заполнена modifiedFrom, то надо заполнить и modifiedTo).

Оба периода должны быть не более 365 дней.


Формат результата {"bookingNumbers": string[]}

bookingNumbers — список номеров бронирований в системе TravelLine.


Получение счетов бронирования

GET https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/invoices

number — номер бронирования в системе TravelLine.

Пример: https://.../ v1/bookings/20210101-0123-123456/invoices?language=ru


Формат входящих данных

Параметр

Тип

Описание

language

string

(*) Двухсимвольный код языка


Обязательные поля помечены (*).


Формат результата InvoiceDto[]

InvoiceDto — информация о счете.

Параметр

Тип

Описание

number

string

Номер счета

roomStayId

string

Идентификатор проживания. Null, если это счет бронирования

payer

PayerDto

Информация о плательщике

items

InvoiceItemDto[]

Пункты счета


PayerDto — информация о плательщике.

Параметр

Тип

Описание

name

string

ФИО плательщика, либо наименование компании плательщика


InvoiceItemDto — информация о пункте счета.

Параметр

Тип

Описание

accountingId

string

Идентификатор пункта счета для системы финансового учета

name

string

Наименование пункта счета

kind

int

Тип пункта счета:

  • 0 — Проживание;
  • 1 — Услуга;
  • 2 — Трансфер.

total

decimal

Стоимость пункта счета, ВКЛЮЧАЯ налог

taxType

int

Тип налога (ставка НДС). Возможно значение NULL:

  • 0 — Не облагается НДС;
  • 1 — Облагается НДС по ставке 0%;
  • 2 — Облагается НДС по ставке 10%;
  • 3 — Облагается НДС по ставке 18%;
  • 4 — Облагается НДС по ставке 10/110;
  • 5 — Облагается НДС по ставке 18/118;
  • 6 — Облагается НДС по ставке 20/120;
  • 7 — Облагается НДС по ставке 20%;
  • 8 — Облагается НДС по ставке 12%;
  • 9 — Облагается НДС по ставке 5%;
  • 10 — Облагается НДС по ставке 7%;
  • 11 — Облагается НДС по ставке 5/105;
  • 12 — Облагается НДС по ставке 7/107;
  • 13 — Облагается НДС по ставке 9%;
  • 14 — Облагается НДС по ставке 9/109;
  • 15 — Облагается НДС по ставке 16%;
  • 16 — Облагается НДС по ставке 22/122;
  • 17 — Облагается НДС по ставке 22%.

quantity

QuantityDto

Количество


QuantityDto — количество.

Параметр

Тип

Описание

quantity

int

Количество

unit

int

Единица измерения:

  • 0 — Штук;
  • 1 — Часов;
  • 2 — Ночей.


Поиск доступных номеров для каждого проживания бронирования

GET https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/rooms

number — номер бронирования в системе TravelLine.

Пример: https://.../ v1/bookings/20210101-0123-123456/rooms


Формат результата

SetRoomStayRoomDto[] SetRoomStayRoomDto

Параметр

Тип

Описание

roomStayId

string

Идентификатор проживания

currentRoomId

string

Идентификатор номера, который в данный момент назначен для проживания

roomTypeId

string

Идентификатор категории номера для проживания

roomIds

string[]

Идентификаторы номеров, доступные для назначения проживанию


Назначение номеров для проживаний бронирования

POST https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/rooms

number — номер бронирования в системе TravelLine.

Пример: https://.../ v1/bookings/20210101-0123-123456/rooms


Формат входящих данных SetRoomStayRoomDto[]

SetRoomStayRoomDto:

Параметр

Тип

Описание

roomStayId

string

Идентификатор проживания

roomId

string

Идентификатор номера


Заселение проживания

POST https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/roomstays/{roomStayId}/check-in

number — номер бронирования в системе TravelLine, roomStayId — идентификатор проживания.

Пример: https://.../ v1/bookings/20210101-0123-123456/room-stays/123456/check-in


Формат входящих данных

Параметр

Тип

Описание

actualCheckInDateTime

string

(*) Фактические дата и время заезда. В формате yyyy-MMddTHH:mm


Обязательные поля помечены (*).

Ограничения на заселение проживания:

  • Заселять можно только проживания, которые еще не заселены, и плановый заезд по которым сегодня или в прошлом.
  • Дата (без учета времени) фактического заезда должна быть равна дате планового заезда.
  • Нельзя заселить проживание, у которого отсутствует номер.
  • Дата и время фактического заезда не должны пересекаться с датой и временем заезда/выезда другого проживания или ремонта.


Выселение проживания

POST https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/roomstays/{roomStayId}/check-out

number — номер бронирования в системе TravelLine, roomStayId идентификатор проживания.

Пример: https://.../ v1/bookings/20210101-0123-123456/room-stays/123456/check-out


Формат входящих данных

Параметр

Тип

Описание

actualCheckOutDateTime

string

(*) Фактические дата и время выезда. В формате yyyy-MMddTHH:mm


Обязательные поля помечены (*).

Ограничения на выселение проживания:

  • Выселять можно только проживания, которые заселены, но еще не выехали, и плановый выезд по которым сегодня или в прошлом.
  • Дата (без учета времени) фактического выезда должна быть равна дате планового выезда.
  • Дата и время фактического выезда не должны пересекаться с датой и временем заезда/выезда другого проживания или ремонта.
  • Если у способа оплаты в настройках неактивен пункт «Разрешить выселение гостей с ненулевым балансом», то выселение гостя с таким балансом запрещено.


Получение доступных способов оплаты

GET https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/roomstays/{roomStayId}/payment-systems

number — номер бронирования в системе TravelLine, roomStayId — идентификатор проживания.

Пример: https://.../ v1/bookings/20210101-0123-123456/room-stays/123456/paymentsystems?language=ru&action=Payment


Формат входящих данных

Параметр

Тип

Описание

language

string

Двухсимвольный код языка

action

string

(*) Тип операции:

  • Payment — платеж;
  • Refund — возврат.


Обязательные поля помечены (*).

Ограничения: способ оплаты «Депозит» временно не поддерживается.


Формат результатаPaymentSystemDto[]

PaymentSystemDto — информация о способе оплаты.

Параметр

Тип

Описание

paymentSystemId

string

Идентификатор способа оплаты

name

string

Название


Оформление платежа

POST https://partner.tlintegration.com/api/webpms/v1/bookings/number}/roomstays/{roomStayId}/payment

number — номер бронирования в системе TravelLine, roomStayId — идентификатор проживания.

Пример: https://.../ v1/bookings/20210101-0123-123456/room-stays/123456/payment


Формат входящих данных

Параметр

Тип

Описание

actionDate

string

(*) Дата и время совершения операции в формате yyyy-MM-ddTHH:mm

paymentSystemId

string

(*) Способ оплаты

total

AmountDto

(*) Размер платежа

comment

string

Комментарий

AmountDto

Параметр

Тип

Описание

amount

decimal

(*) Сумма

currency

string

(*) Трехсимвольный код валюты


Обязательные поля помечены (*).


  • Оплата будет распределена среди счетов проживания. Если в бронировании общий счет, оплата будет распределяться по всем пунктам общего счета.
  • Валюта будет сконвертирована и сохранена в валюте брони (курс будет взят на Дату и время совершения операции).
  • При внесении оплаты больше, чем сумма по всем счетам, переплата сохранится в первом счете проживания.

Ограничения: если в проживании уже есть платеж с совпадающими параметрами (дата и время совершения операции + способ оплаты + размер платежа), то такой платеж не будет сохранен.


Оформление возврата

POST https://partner.tlintegration.com/api/webpms/v1/bookings/{number}/roomstays/{roomStayId}/refund

number — номер бронирования в системе TravelLine, roomStayId — идентификатор проживания.

Пример: https://.../ v1/bookings/20210101-0123-123456/room-stays/123456/refund


Формат входящих данных

Параметр

Тип

Описание

actionDate

string

(*) Дата и время совершения операции в форматеyyyy-MM-ddTHH:mm

paymentSystemId

string

(*) Способ оплаты

total

AmountDto

(*) Размер возврата

comment

string

Комментарий


AmountDto

Параметр

Тип

Описание

amount

decimal

(*) Сумма

currency

string

(*) Трехсимвольный код валюты


Обязательные поля помечены (*).

  • Возврат будет распределен среди счетов проживания. Если в бронировании общий счет, возврат будет распределяться по всем пунктам общего счета.
  • Валюта будет сконвертирована и сохранена в валюте брони (курс будет взят на дату и время совершения операции).


Ограничения:

  • Если в проживании уже есть возврат с совпадающими параметрами (дата и время совершения операции + способ оплаты + размер возврата), то такой возврат не будет сохранен.
  • Вернуть можно не более суммы, доступной к возврату по проживанию.


Получение всех компаний

GET https://partner.tlintegration.com/api/webpms/v1/companies


Формат результата

Company — информация о компании.

Параметр

Тип

Описание

id

string

Идентификатор компании

name

string

Название

type

string

Тип компании:

  • Customer — компания-заказчик;
  • Payer — компания-агент.


Получение профиля гостя

GET https://partner.tlintegration.com/api/webpms/v1/guests/{id}

Id — уникальный идентификатор гостя.

Пример: https://.../v1/guests/12345


Формат результата

Guest — данные гостя.

Параметр

Тип

Описание

id

string

Уникальный идентификатор гостя

lastName

string

Фамилия

firstName

string

Имя

middleName

string

Отчество

birthDate

string

Дата рождения гостя в формате yyyy-MM-dd

citizenshipCode

string

Гражданство (трехсимвольный код страны)

status

StatusItem

Статус

emails

string[]

Электронные адреса

phones

string[]

Телефоны

gender

string

Пол


StatusItem — информация о статусе гостя.

Параметр

Тип

Описание

key

string

Ключ

value

string

Значение


Поиск профилей гостя по параметрам

GET https://partner.tlintegration.com/api/webpms/v1/guests

Пример: https://.../v1/guests?room=42&guestName=Смирнов


Формат входящих данных

Параметр

Тип

Описание

guestPhone

string

Номер (часть номера) телефона гостя. Не менее 3-х символов

room

string

Номер комнаты

guestName

string

Имя (часть имени/фамилии) гостя. Не менее 3-х символов

language

string

Двухсимвольный код языка


Допустимые комбинации параметров поиска:

  • room
  • room + guestName
  • room + guestPhone
  • room + guestName + guestPhone


Передаваемый номер комнаты должен строго соответствовать тому названию, которое указано в настройках TL: WebPMS.

Для поиска по guestName будут использованы следующие сочетания: [Имя Фамилия], [Фамилия Имя], [Фамилия Имя Отчество] и [Имя Отчество Фамилия].

Будут найдены гости, проживание которых пересекается по датам с датой запроса, включая дни заезда и выезда.


Формат результата {"guests": []}

guest — информация о госте, проживающем в номере.

Параметр

Тип

Описание

id

string

Уникальный идентификатор гостя

firstName

string

Имя гостя

lastName

string

Фамилия гостя

middleName

string

Отчество гостя

birthDate

string

Дата рождения гостя. В формате yyyy-MM-dd

status

dictionaryItem

Статус гостя в отеле

citizenshipCode

string

Трехсимвольный код гражданства гостя

roomStays

roomStay[]

Информация о проживаниях


roomStay — информация о проживании.

Параметр

Тип

Описание

id

string

Уникальный идентификатор проживания

room

string

Номер комнаты

checkInDateTime

string

Дата и время заезда в локальном времени средства размещения. В формате yyyy-MM-ddTHH:mm

checkOutDateTime

string

Дата и время выезда в локальном времени средства размещения. В формате yyyy-MM-ddTHH:mm

status

string

  • New – новое бронирование;
  • CheckedIn – заезд гостя зафиксирован;
  • CheckedOut – выезд гостя зафиксирован.

deposit

moneyData

Информация о депозите в проживании


moneyData

Параметр

Тип

Описание

amount

decimal

Сумма

currency

string

Трехсимвольный буквенный код валюты (ISO 4217)


dictionaryItem

Параметр

Тип

Описание

key

string

Ключ

value

string

Значение


Получение информации о проживаниях гостя

GET https://partner.tlintegration.com/api/webpms/v1/guests/{id}/room-stays

id — уникальный идентификатор гостя.

Пример: https://.../v1/guests/12345/room-stays


Формат результата RoomStay[]

RoomStay — информация о проживании гостя в номере.

Параметр

Тип

Описание

id

string

Идентификатор проживания

roomId

string

Идентификатор комнаты

checkInDateTime

string

Дата и время планируемого заезда в локальном времени средства размещения. В формате yyyy-MM-ddTHH:mm

checkOutDateTime

string

Дата и время планируемого выезда в локальном времени средства размещения. В формате yyyy-MM-ddTHH:mm

status

string

Статус:

  • New — 0;
  • CheckedIn — 1;
  • CheckedOut — 2;
  • Cancelled — 3.

deposit

Deposit

Информация о депозите в проживании


Deposit — информация о депозите.

Параметр

Тип

Описание

amount

decimal

Сумма

vatKind

string

Тип НДС

vat

decimal

  • None — 0, Не облагается НДС;
  • Vat0 — 1, облагается НДС по ставке 0%;
  • Vat10 — 2, облагается НДС по ставке 10%;
  • Vat18 — 3, облагается НДС по ставке 18%;
  • Vat110 — 4, облагается НДС по ставке 10/110;
  • Vat118 — 5, облагается НДС по ставке 18/118;
  • Vat120 — 6, облагается НДС по ставке 20/120;
  • Vat20 — 7, облагается НДС по ставке 20%;
  • Vat12 — 8, облагается НДС по ставке 12%;
  • Vat5 — 9, облагается НДС по ставке 5%;
  • Vat7 — 10, облагается НДС по ставке 7%;
  • Vat105 — 11, облагается НДС по ставке 5/105;
  • Vat107 — 12, облагается НДС по ставке 7/107;
  • Vat9 — 13, облагается НДС по ставке 9%;
  • Vat109 — 14, облагается НДС по ставке 9/109;
  • Vat16 — 15, облагается НДС по ставке 16%;
  • Vat122 — 16, облагается НДС по ставке 22/122;
  • Vat22 — 17, облагается НДС по ставке 22%.


Сумма НДС

currency

string

Трехсимвольный код валюты


Сохранение документа, подтверждающего личность гостя

POST https://partner.tlintegration.com/api/webpms/v1/guests/{id}/personal-document

Id — уникальный идентификатор гостя.

Пример: https://.../v1/guests/12345/personal-document


Формат входящих данных

Параметр

Тип

Описание

series

string

Серия документа. Для паспорта гражданина РФ — это строка из 4 символов. Для всех остальных — это строка из букв и цифр длиной от 1 до 64 символов

number

string

Номер документа. Для паспорта гражданина РФ — это строка из 6 символов. Для всех остальных — это строка из букв и цифр длиной от 1 до 64 символов

effectiveDate

string

Дата выдачи. В формате yyyy-MM-dd

expireDate

string

Действителен до. В формате yyyy-MM-dd

departmentCode

string

Код подразделения. Строка длиной не более 16 символов

issueAuthority

string

Орган, выдавший документ. Строка длиной не более 2048 символов

type

string

Тип документа (обязательный параметр):

  • Passport — паспорт;
  • ForeignPassport — иностранный паспорт;
  • InternationalPassportBiometric — загранпаспорт нового поколения (с биометрией);
  • InternationalPassport — загранпаспорт гражданина РФ;
  • TemporaryPassport — временный паспорт;
  • BirthCertificate — свидетельство о рождении;
  • Diplomatic — дипломатический паспорт гражданина РФ; 
  • BirthCertificateForeign — иностранное свидетельство о рождении;
  • MilitaryPensioner — военное пенсионное удостоверение;
  • MilitaryReserveOfficer — военный билет офицера запаса;
  • MilitarySoldier — военный билет солдата (матроса, сержанта, старшины);
  • MilitaryOfficer — удостоверение личности офицера;
  • PassportSailor — паспорт моряка;
  • ForeignPassportForeign — загранпаспорт, выданный за пределами РФ;
  • TemporaryPassportInsteadOfMilitary — временное удостоверение, выданное взамен военного билета; 
  • Another — иной документ, удостоверяющий личность;
  • DiplomaticForeign — дипломатический паспорт иностранного гражданина;
  • TemporaryResidence — разрешение на временное проживание иностранного гражданина;
  • Residence — вид на жительство иностранного гражданина;
  • TemporaryRefuge — свидетельство о предоставлении временного убежища на территории РФ;
  • CIS — удостоверение личности гражданина государств-участников СНГ;
  • WorkPassport — служебный паспорт;
  • ResidenceStateless — вид на жительство ЛБГ (лица без гражданства);
  • NationalPassport — национальный заграничный паспорт;
  • KazPassport — удостоверение личности гражданина Республики Казахстан;
  • ResidenceStatelessBiometric — вид на жительство ЛБГ (с биометрией);
  • TemporaryResidenceStateless — разрешение на временное проживание ЛБГ (штамп);
  • Patent — патент;
  • DriverLicense — водительское удостоверение.


Если необязательный параметр не будет передан, либо будет = null, то он проигнорируется и не будет изменен. Таблица обязательных к заполнению параметров находится в приложении 1.


Сохранение адреса рождения гостя

POST https://partner.tlintegration.com/api/webpms/v1/guests/{id}/birth-address

id — уникальный идентификатор гостя.

Пример: https://.../v1/guests/12345/birth-address


Формат входящих данных

Параметр

Тип

Описание

countryId

string

(*) Идентификатор страны рождения гостя в формате ISO 3166-1 alpha-3


Обязательные поля помечены (*).


Сохранение изображений документа, подтверждающего личность

POST https://partner.tlintegration.com/api/webpms/v1/guests/{id}/personal-document/files

id — уникальный идентификатор гостя.

Пример: https://.../v1/guests/12345/personal-document/files


Формат входящих данных {"files": []}

file — информация о переданном файле.

Параметр

Тип

Описание

content

byte[]

(*) Содержимое файла в формате Base64. Размер файла не должен превышать 2 мб

name

string

(*) Имя файла вместе с расширением, например image, png.

Поддерживаются следующие расширения: ".pdf", ".jpg", ".jpeg", ".png", ".gif"


Обязательные поля помечены (*).

Максимальное количество изображений документа, подтверждающего личность, для одного профиля может быть не больше 5.


Получение информации о номерах

GET https://partner.tlintegration.com/api/webpms/v1/rooms

Пример: https://.../v1/rooms?roomTypeId =1234


Формат входящих данных

Параметр

Тип

Описание

roomTypeId

string

Идентификатор категории номера


Формат результата Room[]

Room — комната (номер).

Параметр

Тип

Описание

id

string

Уникальный идентификатор номера

name

string

Наименование номера

roomTypeId

string

Идентификатор категории номера


Назначение номера для проживания

POST https://partner.tlintegration.com/api/webpms/v1/room-stays/{id}/rooms

id — уникальный идентификатор проживания.

Пример: https://.../v1/room-stays/12345/rooms


Формат входящих данных

Параметр

Тип

Описание

roomId

string

Идентификатор номера


Приложение 1

Обязательные к заполнению поля документа, подтверждающего личность:

Тип документа series number effectiveDate expireDate issueAuthority
Passport (гражданина
РФ)
+

+

+


+

Passport (иностранного гражданина)
+ +

ForeignPassport
+


International
PassportBiometric
+ + + + +
InternationalPassport + +

+

+ +
TemporaryPassport
+ +

BirthCertificate + + +
+
Diplomatic + + + + +
BirthCertificateForeign
+ +

MilitaryPensioner
+ +

MilitaryReserveOfficer
+ +

MilitarySoldier
+ +

MilitaryOfficer
+ +

PassportSailor
+ +

ForeignPassportForeign + + + +
+
TemporaryPassport
InsteadOfMilitary

+ +

Another
+


DiplomaticForeign
+

+
TemporaryResidence


+ +
Residence + +
+ +
TemporaryRefuge + +
+ +
CIS
+

+
WorkPassport
+

+
ResidenceStateless + +
+ +
NationalPassport
+


KazPassport
+

+
ResidenceStateless
Biometric
+ +
+ +
TemporaryResidence
Stateless



+ +
Patent
+


DriverLicense + + + + +


История изменений

Версия

Что изменилось

1.1.0

В тип НДС добавились новые значения 5% и 7%

1.2.0

В тип НДС добавились новые значения 105, 107, 9, 109

1.3.0

В тип НДС добавились новые значения 16%, 22%, 122

1.4.0

В тип документа, подтверждающего личность гостя добилось новое значение DriverLicense — водительское удостоверение

Помогла ли вам статья?