API Reservation10: відмінності між версіями

Матеріал з expertsolution
Перейти до навігації Перейти до пошуку
(Створена сторінка: ='''Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10'''=)
 
Немає опису редагування
 
(Не показано 34 проміжні версії 2 користувачів)
Рядок 1: Рядок 1:
='''Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10'''=
Опис протоколу для інтеграції зовнішнього модуля бронювання з Servio HMS
 
 
=Формат запитів JSON=
Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче.
{
  "firstName": "Ім'я",
  "lastName": "Прізвище",
  "адреса": {
      "streetAddress": "Швидке ш., 101, кв.101",
      "city": "Місто",
      "postalCode": 101101
  },
  "phoneNumbers": [
      "+380(98)-765-43-21",
      "+380(98)-123-45-67"
  ]
}
 
=Формат даних=
* Формат дати/часу: "yyyy-MM-dd HH:mm:ss";
* Формат дати: "yyyy-MM-dd"
* Формат часу: "HH:mm"
* Роздільник типів із плаваючою крапкою(double): "."
=Опис функцій спілкування=
==GetCompanyInfo==
Функція GetCompanyInfo повертає інформацію про компанію, або помилку.
 
'''Вхідні параметри:'''
  1. CompanyCode - string, довжина рядка до 20 символів. Ідентифікаційний код компанії.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки. Якщо компанія за кодом не знайдена код помилки - CompanyNotFound
    4. CompanyID - int, ідентифікатор компанії.
    5. CompanyCodeID - int, ідентифікатор коду компанії.
    6. CompanyName - string, назва компанії
    7. CompanyEmail - string, ел. пошта компанії
    8. CompanyFax - рядок, факс компанії
    9. ComanyPhoneNumber - string, номер контактного телефону компанії
    10. IsPrepayment - bool, працює за передоплатою
 
==Get Rooms==
Функція GetRooms отримує за вхідними параметрами список категорій номерів із зазначенням кількості вільних номерів кожної категорії.
 
'''Вхідні параметри:'''
 
    1. HotelID - int, від 1 до +∞, ID готелю
    2. DateArrival - date, дата заїзду - ведеться ігнорування часу.
    3. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
    4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
    5. Adults - int, від 1 до 1000. Кількість дорослих людей
    6. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
    7. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
    8. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
    9. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
    10. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
    11. Isolanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, , 1 - Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
        a. ID - int, ID категорії номера в базі PMS.
        b. FreeRoom - int, кількість вільних номерів цієї категорії.
        c. MainPlacesCount - int, кількість основних місць у номері.
        d. NearestDateToReservation - Nullable<datetime>, дата найближчої можливої броні
    5. СontractConditions - СontractCondition[], одновимірний масив JSON структур СontractCondition, у якому зберігається інформація щодо умов договорів компанії. Це поле заповнюється тільки якщо CompanyID > 0, кількість елементів у масиві відповідає кількості умов договорів, що діють на дату заїзду:
        a. СontractConditionID - int, ідентифікатор умови договору компанії.
        b. СontractConditionName - string, назва умови договору компанії.
        c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
        d. ExpiredDate - datetime, дата закінчення поточного договору компанії.
 
==GetPrices==
 
Функція GetPrices отримує за вхідними параметрами список заявок на бронювання із зазначенням списку послуг і цін на кожен день проживання за кожною заявкою. Далі на сайті цю інформацію обробляють і групують у зручному для користувача вигляді.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 1 до +∞, ID готелю
    2. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
    3. DateArrival - date, дата заїзду - ведеться ігнорування часу.
    4. DateDeparture - date, дата виїзду - ведеться ігнорування часу.
    5. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
    6. Adults - int, від 1 до 1000. Кількість дорослих людей
    7. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
    8. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
    9. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
    10. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
    11. RoomTypeIDs - int[], масив ідентифікаторів категорій номерів, для яких потрібно брати ціну.
    12. СontractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists.  0 - системна умова, >0  - ідентифікатор обраної умови.
    13. СontractConditionAddIDs - int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists.
    14. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    15. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
    16. IsTouristTax - int, параметр чи оподатковується цей гість, 1- оподатковується, 0 - не оподатковується. За замовчуванням 1.
    17. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.
    18. AgentCategories - int[], масив категорій контрагентів (можливі значення елементів масиву як у полі AgentCategory). Якщо масив містить хоча б один елемент, то ціни за послугами-надбавками повертаються окремо від цін на основні послуги.
    19. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
    20. LoyaltyAuthCode - string, 20 символів. Код бронювання програми лояльності (обов'язкове поле).
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. ValuteShort - рядок, скорочення базової валюти в зазначеній мові.
    5. PriceLists - PriceList[], одновимірний масив JSON структур PriceList, у якому зберігається інформація про прейскуранти, що повертаються, а також про ціни для цих прейскурантів на запитувані категорії кімнат:
        a. PriceListID - int, ID прейскуранта в базі HMS;
        b. PriceListName - string, найменування прейскуранта;
        c. ConditionID - int, ID умови договору;
        d. IsNonReturnRate - int, ознака неповоротного тарифу, 1 - неповоротний тариф, 0 - поворотний тариф.
        e. IsSpecRate- int, ознака спеціальної пропозиції, 1 - спеціальна пропозиція, 0 - звичайний тариф.
        f. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація щодо цін для категорій кімнат:
            i. ID - int, ID категорії номера в базі HMS.
            ii. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
                1. ServiceID - int, ідентифікатор послуги
                2. ServiceName - string, назва послуги
                3. ServiceCode - int, податковий код групи
                4. ServiceSystemCode - string, системний код
                5. ServiceTypeName - string, назва типу улуги
                6. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
                    a. Date - datetime, дата і час споживання послуги
                    b. Price - double, сума нарахування в поточний день
                    c. RackRatePrice - double, сума нарахування в поточний день за прейскурантом стійки
            iii. AgentCategories - AgentCategory[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг-надбавок для різних категорій контрагентів. Заповнюється залежно від вхідного параметра. '''AgentCategories:''' якщо масив містить хоча б один елемент, то ціни на послуги-надбавки повертаються окремо від цін на основні послуги в даному полі; якщо масив не заповнено, то ціни на послуги-надбавки повертаються до '''RoomType.Services''' разом із рештою послуг.
                1. AgentCategory - int, категорія контрагента.
                2. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг-надбавок для категорії контрагента.
                          iv. SaleRestrictions - JSON-структура, в якій міститься інформація щодо обмежень продажів для категорії кімнати на вказаний часовий проміжок:
                1. ClosedToSale - JSON-структура містить інформацію про обмеження "Заборона продажів":
                    a.  HasRestrictions - bool, ознака наявності обмеження
                    b. Message - string, текст повідомлення
                2. ClosedToArrive - JSON структура містить інформацію про обмеження "Заборона заїзду":
                    a.  HasRestrictions - bool, ознака наявності обмеження
                    b. Message - string, текст повідомлення
                3. EarlyReservation - JSON структура містить інформацію про обмеження "Раннє бронювання":
                    a.  HasRestrictions - bool, ознака наявності обмеження
                    b. Message - string, текст повідомлення
                4. MinStay - JSON структура містить інформацію про обмеження "Мінімальний період проживання":
                    a.  HasRestrictions - bool, ознака наявності обмеження
                    b. Days - int, кількість днів. 0 - якщо відсутні чинні обмеження на мінімальний період проживання.
                    c. Message - string, текст повідомлення
                5. MinPay - JSON структура містить інформацію про обмеження "Мінімальна передоплата":
                    a. Days - int, кількість днів.
                    b. Message - string, текст повідомлення
                    c. MinPayPaymentRules - MinPayPaymentRuleInfo[], одновимірний масив JSON структур MinPayPaymentRuleInfo, у якому зберігається інформація про обов'язковість оплат:
    i. TimeFromArriveDate - long, Час до заїзду (сек.), діє в більший бік, тобто в разі різниці між датою заїзду та датою бронювання, більшої за це значення, оплата буде обов'язковою, якщо меншою - ні.
    ii. TimeForPayment - long, час для оплати з дати бронювання (сек.)
 
==AddRoomReservation==
Функція AddRoomReservation створює нову бронь у базі за вхідними параметрами і повертає ID броні.
Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 1 до +∞, ID готелю
    2. DateArrival - date, дата заїзду - ведеться ігнорування часу.
    3. DateDeparture - date .Дата виїзду - ведеться ігнорування часу.
    4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
    5. Adults - int, від 1 до 1000. Кількість дорослих людей
    6. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
    7. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
    8. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
    9. GuestLastName - string, прізвище гостя
    10. GuestFirstName - string, ім'я гостя
    11. RoomTypeID - int, 1 до +∞, ID категорії номера
    12. CompanyID - int, ідентифікатор (ID) компанії під якою відбувається бронювання
    13. Company - рядок, назва компанії
    14. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0 - ідентифікатор обраної умови.
    15. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    16. Iso3Country - string, рядок 3 символи, iso позначення країни.
    17. Country - string, назва країни
    18. Address - рядок, адреса проживання
    19. Phone - рядок, телефон
    20. Fax - рядок, факс
    21. eMail - рядок, пошта
    22. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
    23. Comment - string, рядок коментарів. Обріжеться під час вставки в базу.
    24. ClientInfo - string, додаткова інформація про людину, яка зробила бронь: IP-адреса, тощо.
    25. IsTouristTax - int, ознака включення тур.збору в автоматично створений рахунок, 1- включається, 0 - не включається
    26. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.
    27. PriceListID - int, 1 до +∞, ID прейскуранта
    28. LoyaltyCardTypeID - int, ідентифікатор типу карти лояльності.
    29. LoyaltyCardNumber - string, 20 символів. Код бронювання програми лояльності.
    30. ContactName - string, до 50 символів. Контактна особа під час бронювання.
    31. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
    32. BirthDate - date, дата народження.
    33. UTM_CAMPAIGN - string, 128 символів - UTM-мітка. Назва рекламної кампанії
    34. UTM_CONTENT - string, 128 символів - UTM-мітка. Інформація, яка допомагає розрізняти оголошення, якщо збігаються інші параметри
    35. UTM_MEDIUM - string, 128 символів - UTM-мітка. Тип трафіку
    36. UTM_SOURCE - string, 128 символів - UTM-мітка. Рекламна система
    37. UTM_TERM - string, 128 символів - UTM-мітка. Ключове слово, яке ініціювало показ оголошення
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Account - int, від 1 до +∞, ID броні
 
==SetReservationType==
Функція SetReservationType змінює тип зазначеної броні на гарантовану. Додатково ця функція дає змогу проводити оплат і гарантувати захід, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    2. Amount - double, сума за перший день проживання
    3. RRN - string, RRN-код платіжної операції.
    4. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz.
    5. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        a. ServiceID - int, ідентифікатор послуги
        b. ServiceName - string, назва послуги, допускається порожнє значення
        c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
        d. ServiceSystemCode - string, системний код, допускається порожнє значення
        e. ServiceTypeName - string, назва типу послуги, допускається порожнє значення
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            i. Date - datetime, дата і час споживання послуги
            ii. Price - double, сума нарахування в поточний день
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    6. ServiceProviderID - int, необов'язковий параметр, ідентифікатор постачальника послуг, використовуваного для виставлення рахунків під час оплати кредитною карткою.
    7. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1  Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
 
==SetReservationBill==
Функція SetReservationBill функція є проміжною ланкою перед оплатою нарахування, вона створює на картці відповідної сутності рахунок і поміщає в нього зазначений список нарахувань послуг, за якими стягуватиметься оплата. Після формування рахунку і перерахунку податків функція повертає уточнений список послуг з остаточними цінами (Використовується для коригування вартості надбавки в рахунках з різними постачальниками). Ця функція дає змогу готувати захід, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    2. Amount - double, сума за перший день проживання
    3. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        a. ServiceID - int, ідентифікатор послуги
        b. ServiceName - string, назва послуги, допускається порожнє значення
        c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
        d. ServiceSystemCode - string, системний код, допускається порожнє значення
        e. ServiceTypeName - string, назва типу улуги, допускається порожнє значення
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            i. Date - datetime, дата і час споживання послуги
            ii. Price - double, сума нарахування в поточний день
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    4. ServiceProviderID - int, необов'язковий параметр, ідентифікатор постачальника послуг, використовуваного для виставлення рахунків під час оплати кредитною карткою.
    5. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1- Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A'
    (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    5. Amount - double, сума за перший день проживання
    6. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        a. ServiceID - int, ідентифікатор послуги
        b. ServiceName - string, назва послуги
        c. ServiceCode - int, бухгалтерський код послуги
        d. ServiceSystemCode - string, системний код
        e. ServiceTypeName - string, назва типу улуги
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            i. Date - datetime, дата і час споживання послуги
            ii. Price - double, сума нарахування в поточний день
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
 
==RevertTransaction==
Функція RevertTransaction для типу транзакції робить повернення за кредиткою
Функція RevertTransaction дає змогу проводити повернення оплати з сайту. Додатково ця функція дає змогу проводити повернення оплати для заходу, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    2. Amount - double, сума повернення за транзакцією
    3. RRN - string, RRN-код платіжної операції.
    4. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz.
    5. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        a. ServiceID - int, ідентифікатор послуги
        b. ServiceName - string, назва послуги, допускається порожнє значення
        c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
        d. ServiceSystemCode - string, системний код, допускається порожнє значення
        e. ServiceTypeName - string, назва типу улуги, допускається порожнє значення
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            i. Date - datetime, дата і час споживання послуги
            ii. Price - double, сума нарахування в поточний день
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
 
==GetAccountBill==
Функція GetAccountBill формує і повертає рахунок у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==GetAccountConfirm==
Функція GetAccountConfirm формує і повертає підтвердження бронювання у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==GetRoomTypesList==
Функція GetRoomTypesList повертає список категорій номерів за готелем.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 0 до +∞, ID готелю, якщо 0, то виводяться категорії номерів по всіх готелях
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Count - визначає розмірність повернених масивів.
    5. IDs - int[], масив цілих чисел, ID категорій номерів у базі.
    6. ClassNames - string[], масив рядків, назви категорій номерів.
    7. HotelIDs - int[], масив цілих чисел, ID готелю категорії номерів.
 
==GetGroupRooms==
Функція GetGroupRooms отримує за вхідними параметрами список категорій номерів із зазначенням кількості вільних номерів кожної категорії.
 
Вхідні параметри:
    1. HotelID - int, від 1 до +∞, ID готелю
    2. BookingRequests - BookingRequest[], одновимірний масив JSON структур BookingRequest, у якому зберігається інформація щодо заявок на бронювання кімнат:
        a. DateArrival - date, дата заїзду - ведеться ігнорування часу.
        b. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
        c. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
        d. TimeDeparture - string, 5 символів - час виїзду (н/р: "20:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
        e. Adults - int, від 1 до 1000. Кількість дорослих людей
        f. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
        g. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
        h. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
    3. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
    4. CompanyСodeID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
 
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2-Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. BookingRequestAnswers - BookingRequestAnswer[], одновимірний масив JSON структур BookingRequestAnswer, у якому зберігається інформація про знайдені категорії номерів за заявками на бронювання кімнат:
        a. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
            i. ID - int, ID категорії номера в базі PMS.
            ii. FreeRoom - int, кількість вільних номерів цієї категорії.
            iii. MainPlacesCount - int, кількість основних місць у номері.
            iv. NearestDateToReservation-Nullable<datetime>, дата найближчої можливої броні.
    5. СontractConditions - СontractCondition[], одновимірний масив JSON структур СontractCondition, у якому зберігається інформація щодо умов договорів компанії. Це поле заповнюється тільки якщо CompanyID > 0, кількість елементів у масиві відповідає кількості умов договорів, що діють на дату заїзду:
        a. СontractConditionID - int, ідентифікатор умови договору компанії.
        b. СontractConditionName - string, назва умови договору компанії.
        c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
 
==AddGroupRoomReservation==
Функція AddGroupRoomReservation створює нову групову бронь у базі за вхідними параметрами, і повертає ID броні групи в системі.
Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 1 до +∞, ID готелю
    2. GroupName - string, назва групи
    3. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
    4. Company - рядок, назва компанії
    5. Iso3Country - string, рядок 3 символи, iso позначення країни.
    6. Country - string, назва країни
    7. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    8. ContactName - string, контактна особа групи
    9. ContactEMail - string, електронна пошта контактної особи
    10. ContactInfo - string, інша контактна інформація по групі. Максимум 500 сивволів.
    11. Comment - string, рядок коментарів. Обріжеться під час вставки в базу
    12. ClientInfo - string, додаткова інформація про людину, яка зробила бронь: IP-адреса, тощо.
    13. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0  - ідентифікатор обраної умови.
    14. RoomReservations - RoomReservation[], одновимірний масив JSON структур RoomReservation, у якому зберігається інформація про заявки бронювання номерів групи:
        a. GuestName - string, необов'язкове поле - ім'я гостя. Якщо не вказано, в ім'я гостя підставляється назва групи.
        b. DateArrival - date дата заїзду - ведеться ігнорування часу.
        c. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
        d. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
        e. TimeDeparture - string, 5 символів - час виїзду (н/р: "20:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
        f. Adults - int, від 1 до 1000. Кількість дорослих людей
        g. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
        h. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
        i. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
        j. RoomTypeID - int, 1 до +∞, ID категорії номера
        k. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
        l. IsTouristTax - int, ознака включення тур.збору в автоматично створений рахунок, 1- включається, 0 - не включається
        m. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.
Примітка: За поточною реалізацією протоколу формат параметра-int,
в 11 версії формат буде виправлено на bool, згідно відповідності протоколу
        n. PriceListID - int, 1 до +∞, ID прейскуранта
        o. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - умова з групи, >0 - ідентифікатор обраної умови.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Account - int, від 1 до +∞, ID групової броні
    5. RoomReservations - RoomReservation[], одновимірний масив JSON структур RoomReservation, у якому зберігається інформація про заявки бронювання номерів групи:
            i. DateArrival - date, дата заїзду - ведеться ігнорування часу.
            ii. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
            iii. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
            iv. Adults - int, від 1 до 1000. Кількість дорослих людей
            v. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
            vi. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
            vii. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
            viii. RoomTypeID - int, 1 до +∞, ID категорії номера
            ix. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
            x. IsTouristTax - int, параметр чи оподатковується цей гість, 1- оподатковується, 0 - не оподатковується. За замовчуванням 1.
            xi. PriceListID - int, 1 до +∞, ID прейскуранта
            xii. GuestAccount - int, від 1 до +∞, ID індивідуальної броні гостя
 
==GetGroupAccountBill==
Функція GetGroupAccountBill формує і повертає рахунок групи у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID групової броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==GetGroupAccountConfirm==
Функція GetGroupAccountConfirm формує і повертає групове підтвердження бронювання у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID групової броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==GetLoyaltyCardNumberInfo==
Функція GetLoyaltyCardNumberInfo повертає інформацію за карткою лояльності. Якщо картки немає, то повертається помилка.
 
'''Вхідні параметри:'''
    1. CompanyID - int, ідентифікатор компанії, >0 - визначає ID компанії під якою відбувається бронювання
    2. LoyaltyCardTypeID - int, ідентифікатор типу карти лояльності.
    3. HotelID - int, від 1 до +∞, ID готелю
    4. LoyaltyCardNumber - string, номер картки лояльності.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. СontractConditionID - int, 0 - немає значення, ідентифікатор умови договору компанії.
    5. СontractConditionName - string, назва умови договору компанії.
    6. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    7. GuestLastName - string, прізвище гостя
    8. GuestFirstName - string, ім'я гостя
    9. PriceListID - int, 0 - немає значення, 1 до +∞ -  ID прейскуранта
 
==GetLoyaltyCardTypes==
Функція GetLoyaltyCardTypes повертає інформацію щодо заведених програм карт лояльності.
 
'''Вхідні параметри:'''
Немає
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. LoyaltyCardTypes - LoyaltyCardType[], одновимірний масив JSON структур LoyaltyCardType, у якому зберігається інформація про типи програм лояльності:
        a. LoyaltyCardTypeID - int, ідентифікатор типу картки лояльності.
        b. LoyaltyCardTypeName - string, назва типу картки лояльності.
 
==GetDocument==
Функція GetDocument повертає інформацію щодо сформованого документа, поставленого для створення раніше.
 
'''Вхідні параметри:'''
    1. DocumentID - int, ідентифікатор документа для пошуку.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. IsReady - bool, логічне значення, що визначає, чи готовий документ на поточний момент. При цьому запит може бути опрацьовано, але документ не сформовано через помилку.
    5. DocumentCode - string, бінарний код документа або папки формату zip потрібного формату даних у вигляді рядка в Base64.
 
==GetReservationInfo==
 
Функція GetReservationInfo повертає інформацію щодо створеного бронювання, дані повертаються тільки для підтверджених бронювань. Додатково додано відображення даних за заброньованими заходами в разі якщо Л/Рахунок має префікс A і групи префікс G
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. HotelID - int, від 1 до +∞, ID готелю
    5. AccountName - string, ПІБ гостя в бронюванні / назва заходу.
    6. DateArrival - datetime, дата і час заїзду.
    7. DateDeparture - datetime. Дата і час виїзду.
    8. Adults - int, від 1 до 1000. Кількість дорослих людей
    9. Childs - int, від 0 до 1000. Кількість дітей
    10. RoomTypeID - int, 1 до +∞, ID категорії номера / ID типу заходу
    11. RoomType -string, назва категорії номера/ назва типу заходу
    12. StatusID - int, код статусу бронювання
    13. StatusName - string, назва статусу бронювання гостя/заходу
    14. Email - рядок, електронна пошта гостя/заходу
    15. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    16. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
    17. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
    18. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        a. ServiceID - int, ідентифікатор послуги
        b. ServiceName - string, назва послуги
        c. ServiceCode - int, бухгалтерський код послуги
        d. ServiceSystemCode - string, системний код
        e. ServiceTypeName - string, назва типу улуги
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            i. Date - datetime, дата і час споживання послуги
            ii. Price - double, сума нарахування в поточний день
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
            iv. IsPaid - bool, показує, чи було нарахування послуги оплачено. True - для повної та часткової оплати.
            v. IsPaidFromSite - bool, показує чи було нарахування послуги оплачено через сайт. Заповнюється, якщо IsPaid =  true.
            vi. PayAccount - string, особовий рахунок, від якого пройшла оплата.
            vii. OrderID - ідентифікатор платіжної операції сайту Reikartz.
            viii. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
            ix. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
    19. MinPays - MinPayInfo[], одновимірний масив JSON структур MinPayInfo, в якому міститься інформація про обмеження "Мінімальна передоплата":
                    a. Account - string, ID групи або гостя
                    b. Days - int, кількість днів.
                    c. CancelationDate - string, необов'язкове поле, дата ануляції броні (н/р: "2021-04-12 18:13:50 +03:00")
 
==GetRoomType==
Функція GetRoomType повертає повний опис номера за ID і локалізаціями
 
'''Вхідні параметри:'''
    1. RoomTypeID - int, від 1 до +∞, ID категорії кімнати.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. MainPlacesCount - int, кількість основних місць у номері.
    5. MaxAdditionalPlacesCount - int, Максимальна кількість додаткових ліжок у категорії номері
 
==GetClientDocuments==
Функція GetClientDocuments повертає інформацію списку паспортних даних гостя.
 
'''Вхідні параметри:'''
    1. GuestCode - string, HEX рядок, 4 блоки по 4 символи з роздільником дефісом, що містить масив зашифрованих TripleDes алгоритмом даних. Перші 4 байти int32 представлення ID броні даних броні гостя, 5й байт перші 2 цифри року, 6й байт останні 2 цифри року, 7й байт місяць, 8й байт число місяця дати заїзду гостя.  Приклад і код виконання нижче.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. HotelID - int, від 1 до +∞, ID готелю
    5. GuestID - int, від 1 до +∞, ID гостя
    6. GuestName - string, ПІБ гостя в бронюванні.
    7. DateArrival - datetime, дата і час заїзду.
    8. DateDeparture - datetime. Дата і час виїзду.
    9. Adults - int, від 1 до 1000. Кількість дорослих людей
    10. Childs - int, від 0 до 1000. Кількість дітей
    11. RoomTypeID - int, 1 до +∞, ID категорії номера
    12. StatusID - int, код статусу бронювання
    13. StatusName - string, назва статусу бронювання гостя.
    14. ClientDocumentTypes - ClientDocumentType[], одновимірний масив JSON структур ClientDocumentType, в якому зберігається інформація про типи реєстраційних документів клієнта:
        a. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
        b. ClientDocumentTypeName - string, назва типу реєстраційного документа.
        c. ClientDocumentFields - string[], одновимірний масив кодів необов'язкових полів реєстраційного документа для цього типу документа
        d. ClientDocumentRequiredFields - string[], одновимірний масив кодів обов'язкових полів реєстраційного документа для цього типу документа
    15. Clients - Client[], одновимірний масив JSON структур Client, у якому зберігається інформація про заведені реєстраційні дані гостя:
        a. ClientID - int, ідентифікатор реєстраційних даних.
        b. LastName - string, до 50, прізвище
        c. FirstName - string, до 50, ім'я
        d. MiddleName - string, до 50, по батькові
        e. BirthDate - datetime, дата народження
        f. Iso3Nationality - string, 3 символи, iso код країни громадянства
        g. Address - рядок, адреса
        h. Email - рядок, пошта
        i. PhoneNumber - string, номер телефону
        j. CarNumber - string, номер машини
        k. AdultOrChild - boolean, дорослий чи дитина
        l. IsMan - boolean, стать, true - чоловік, false - жінка
        m. Vip - boolean, чи є VIP
        n. Comment - string, до 500, коментар
        o. DocumentPhotoURL - string, адреса для фото анкети
        p. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
        q. ClientDocumentValues - ClientDocumentValue[], одновимірний масив JSON структур ClientDocumentValue, в якому зберігається інформація про значення полів реєстраційного документа, що засвідчує особу та закріплений за проживанням:
            i. ClientDocumentFieldCode - string, код поля реєстраційного документа.
            ii. ClientDocumentFieldValue - string, значення поля реєстраційного документа.
 
==SetClientDocuments==
Функція SetClientDocuments проставляє інформацію за списком паспортних даних гостя. Якщо додаються нові паспортні дані, то система перевіряє, збіг введених даних з уже заведеними в системі за такими полями: ПІБ, тип документа, номер і серія документа, дата народження, у разі відповідності даних поле з уже наявними в базі система автоматично підтягує старі дані й оновлює їх відповідно до решти полів.
 
'''Вхідні параметри:'''
    1. GuestID - int, від 1 до +∞, ID гостя
    2. Clients - Client[], одновимірний масив JSON структур Client, в якому зберігається інформація про заведені реєстраційні дані гостя:
        a. ClientID - int, ідентифікатор реєстраційних даних. Для нових реєстраційних даних значення обирається випадково з діапазону від -10000 до -1, у межах однієї транзакції ідентифікатори не повинні збігатися.
        b. LastName - string, до 50, прізвище для анкети - обов'язковий параметр
        c. FirstName - string, до 50, ім'я
        d. MiddleName - string, до 50, по батькові
        e. BirthDate - datetime, дата народження - обов'язковий параметр
        f. Iso3Nationality - string, 3 символи, iso код країни громадянства - обов'язковий параметр
        g. Address - рядок, адреса
        h. Email - рядок, пошта
        i. CarNumber - string, номер машини
        j. PhoneNumber - string, номер телефону
        k. AdultOrChild - boolean, дорослий чи дитина
        l. IsMan - boolean, стать, true - чоловік, false - жінка
        m. Vip - boolean, чи є VIP
        n. Comment - string, до 500, коментар
        o. DocumentPhotoURL - string, адреса для фото анкети
        p. DocumentScan - string, файл скану документа. Формат: "Розширення файлу"; "Тіло файлу у форматі base64", без пробілів, розширення також включає символ "."
        q. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
        r. ClientDocumentValues - ClientDocumentValue[], одновимірний масив JSON структур ClientDocumentValue, у якому зберігається інформація про значення полів реєстраційного документа клієнта:
            i. ClientDocumentFieldCode - string, код поля реєстраційного документа.
            ii. ClientDocumentFieldValue - string, значення поля реєстраційного документа.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
 
==GetCompanyReferencedData==
Функція GetCompanyReferencedData повертає дані довідників пов'язаних із компаніями.
 
'''Вхідні параметри:'''
1. Немає
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. CompanyLegalForms - CompanyLegalForm[], одновимірний масив JSON структур CompanyLegalForm , у якому зберігається інформація довідника про види правових форм для компаній:
    a. LegalFormID - int, ідентифікатор правової форми компанії
    b. LegalFormName - string, назва правової форми компанії
 
==SearchCompanies==
Функція SearchCompanies здійснює пошук компаній за ЄДРПОУ або ІПН.
 
'''Вхідні параметри:'''
    1. ITN - рядок, ІПН компанії.
    2. EGRPOU- рядок, ЄДРПОУ компанії.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Companies - CompanyData [], одновимірний масив JSON структур CompanyData, в якому зберігається інформація про знайдені компанії:
        a. CompanyID - int, ідентифікатор компанії
        b. LegalFormID - int, ідентифікатор правової форми компанії
        c. Name - string, назва компанії
        d. ITN - рядок, ІПН компанії
        e. EGRPOU - рядок, ЄДРПОУ компанії.
        f. LegalAddress- рядок, юридична адреса компанії.
 
==AddCompany==
Функція AddCompany створює нову компанію.
 
'''Вхідні параметри:'''
    1. LegalFormID -  int, ідентифікатор правової форми компанії
    2. Name - string, назва компанії
    3. ITN - рядок, ІПН компанії
    4. EGRPOU - рядок, ЄДРПОУ компанії.
    5. ContactPerson - рядок, контактна особа.
    6. FactualAddress - рядок, фактична адреса компанії.
    7. LegalAddress- рядок, юридична адреса компанії.
    8. PostalAddress - рядок, поштова адреса компанії.
    9. PhoneNumber - string, контактний номер телефону.
    10. Email - рядок, контактний email.
    11. Comment - string, примітки.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. CompanyID - int, ідентифікатор створеної компанії
 
==CancelReservation==
Функція CancelReservation здійснює ануляцію (скасування бронювання) гостя, групи або заходу, якщо це можливо.
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя, групи або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
 
==GetRoomTypesMinPrice==
Функція GetRoomTypesMinPrice отримує мінімально можливу ціну за категоріями кімнат на 30 днів вперед. Значення функції отримується запитом аналогічним функції GetPrice, де в якості вхідних параметрів використовуються параметри індивідуального бронювання на 30 днів від поточної дати, 1 дорослого, без дітей, 1 місцеве розміщення без додаткових місць, без компанії, за прейскурантом для інтернету за замовчуванням. Отримане значення вартості проживання групується за днями і типами послуг і вибирається мінімальне значення.
 
'''Вхідні параметри:'''
    1. HotelID - int - готель для якого потрібно брати ціни
    2. RoomTypeIDs - int[], масив ідентифікаторів категорій номерів, для яких потрібно брати ціну, якщо порожній - то беремо весь готель
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    4. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    5. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    6. ErrorCode - string, код помилки.
    7. Prices[] - одновимірний масив json, кількість елементів у ньому дорівнює кількості типів номерів у цьому готелі
        a. RoomTypeID - int
        b. DwellingPrice - double, за проживання
        c. ToursborPrice - double, турсбір
 
==GetMinPrices==
Функція GetMinPrices повертає мінімально можливі ціни за вказаними готелями з розбивкою за категоріями кімнат на вказаний період. Значення функції отримується запитом аналогічним функції GetPrice, де в якості вхідних параметрів використовуються параметри індивідуального бронювання на вказаний період, 1 дорослого, без дітей, 1 місцеве розміщення без додаткових місць, від зазначеної компанії, за прейскурантами, доступними компанії. Отримане значення вартості проживання групується за днями і типами послуг і вибирається мінімальне значення.
 
'''Вхідні параметри:'''
    1. HotelIDs - int[] - масив ідентифікаторів готелів, для яких потрібно брати ціни.
    2. StartDate - datetime, дата початку періоду.
    3. EndDate - datetime, дата закінчення періоду.
    4. CompanyCode - string, довжина рядка до 20 символів. Ідентифікаційний код компанії.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. ValuteShort - рядок, скорочення базової валюти в зазначеній мові.
    5. HotelsPrices - HotelsPrices[], одновимірний масив JSON структур HotelsPrices, в якому зберігається інформація за мінімальними цінами готелів на вказаний період:
        a. HotelID - int, ідентифікатор готелю
        b. HotelPrices - HotelPrices[], одновимірний масив JSON структур HotelPrices, в якому зберігається інформація за мінімальними цінами готелю на вказаний період:
            i. Date - datetime, дата на яку розраховані ціни.
            ii. MinPrice - мінімальна ціна готелю на дату.
            iii. Rooms[] - одновимірний масив цін із розбивкою за категоріями кімнат:
                1. RoomTypeID - int, ідентифікатор категорії кімнати.
                2. Price - мінімальна з цін бронювання в цій категорії на дату, серед прейскурантів доступних за кодом компанії.
 
==GetAccountCancellation==
Функція GetAccountCancellation формує і повертає документ ануляції бронювання у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==GetGroupAccountCancellation==
Функція GetGroupAccountCancellation формує і повертає документ ануляції бронювання групи у вигляді стисненого zip документа або папки в потрібному форматі.
 
'''Вхідні параметри:'''
    1. Account - int, від 1 до +∞, ID групової броні
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. DocumentID - int, посилання на документ, який буде зроблено
 
==AddFileToReservation==
Функція AddFileToReservation додає до сутності файли документів.
 
'''Вхідні параметри:'''
    1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя, групи або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
    2.  FileName - string, назва файлу з розширенням. До прив'язки приймаються файли тільки з такими розширеннями ".png", ".jpg", ".jpeg", ".bmp", ".tiff", ".tif", ".gif", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".odt", ".ods", ".txt", ".zip", ".rar", ".7z".
    3. FileBase64 - string,  Тіло файлу в base64 форматі. Розмір рядка має бути в межах від 100 до 4 000 000 символів.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Account - string, ідентифікатор бронювання.
 
==GetBillInfo==
Функція GetBillInfo отримує інформацію про рахунок за його ID. Дані повертаються тільки якщо рахунок є рахунком верхнього рівня.
 
'''Вхідні параметри:'''
    1. BillID - string, ідентифікатор рахунку.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки;
    4. PayerID - int, ID платника;
    5. Status - int, статус рахунку: 0 - не збережений, 1 - відкритий, 2 - закритий, -1 - анульований;
    6. PayerPrintName - string, найменування платника;
    7. ValuteID - int, ID валюти;
    8. ValuteShort - string, скорочення валюти;
    9. ServiceProviderID - int, ID постачальника послуг;
    10. ServiceProviderName - string, найменування постачальника послуг;
    11. Services - Services[], одновимірний масив JSON структур Service, у якому зберігається така інформація:
        a. ServiceID - int, ідентифікатор послуги;
        b. ServiceName - string, назва послуги;
        c. ServiceCode - int, бухгалтерський код послуги;
        d. ServiceSystemCode - string, системний код;
        b. ServiceTypeName - string, назва типу улуги;
        e. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуг для зазначеного проміжку часу:
            i. Date - datetime, дата і час споживання послуги;
            ii. PaymentID - int, ID нарахування;
            iii. CustomerAccount - string, ідентифікатор споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс""Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями;
            iv. CustomerName - string, найменування споживача послуги;
            v. Quantity - десяткова, кількість;
            vi. Price - десяткова, ціна;
            vii. IsPaid - bool, показує чи було нарахування послуги оплачено. True - оплачено;
            viii. IsPaidFromSite - bool, чи було оплачено нарахування через сайт. True - якщо було оплачено через сайт;
            ix. OrderID - ідентифікатор платіжної операції сайту.
 
==SetBillPayment==
Функція SetBillPayment приймає ID наявного рахунка і список послуг для оплати, формує чек на оплату і оплачує за касою.
 
'''Вхідні параметри:'''
    1. BillID - int, ID рахунку для оплати;
    2. RRN - string, RRN-код платіжної операції;
    3. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz;
    4. Services - Service[], одновимірний масив JSON структур Service, у якому зберігається така інформація:
        a. ServiceID - int, ідентифікатор послуги;
        b. ServiceName - string, назва послуги, допускається порожнє значення;
        c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення;
        d. ServiceSystemCode - string, системний код, допускається порожнє значення;
        e. ServiceTypeName - string, назва типу послуги, допускається порожнє значення;
        f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, у якому зберігається інформація за цінами послуги для зазначеного часового проміжку:
            i. Date - datetime, дата і час споживання послуги;
            ii. Price - double, сума нарахування в поточний день;
            iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини {'' (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
 
1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.<br>
2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.<br>
ErrorCode - string, код помилки.
 
==GetReceiptBill==
Функція GetReceiptBill формує і повертає рахунок у вигляді стисненого zip документа або папки в потрібному форматі.
 
Вхідні параметри:
    1. BillID - int, ID рахунку;
    2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою;
    3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0;
 
Значення, що повертається:
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки;
    4. DocumentID - int, посилання на документ, який буде зроблено.
 
==GetVariantRooms==
Функція GetVariantRooms повертає за вхідними параметрами список категорій номерів із кількістю вільних місць на різні дати.
 
'''Вхідні параметри:'''
    1. HotelID- int, ID готелю;
    2. DateArrival - date, бажана дата заїзду - ведеться ігнорування часу;
    3. DateDeparture - date, бажана дата виїзду - ведеться ігнорування часу;
    4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі;
    5. TimeDeparture - string, 5 символів - час виїзду (н/р: "14:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі;
    6. Adults - int, від 1 до 1000. Кількість дорослих людей;
    7. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок;
    8. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка;
    9. RoomTypeIDs - int[], масив ідентифікаторів типів кімнат;
    10. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів;
    11. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки;
    4. RoomTypes - RoomTypes[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
    a. ID - int, ID категорії номера в базі PMS.
    b. PeriodOfResidence - PeriodOfResidence[], одновимірний масив JSON структур PeriodOfResidence, у якому зберігається інформація щодо можливих періодів бронювання:
        i. FirstDate - DateTime, дата і час заїзду;
        ii. LastDate - DateTime, дата і час виїзду; iii. FreeRoom - int, кількість.
 
==GetRentals==
 
Функція GetRentals повертає за вхідними параметрами список типів прокатів із зазначенням кількості вільних ресурсів прокатів кожного типу і зазначенням списку послуг і цін на кожен день.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 1 до +∞, ID готелю;
    2. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання;
    3. StartDate - date, дата початку прокату - ведеться ігнорування часу;
    4. EndDate - date, дата закінчення прокату прокату - ведеться ігнорування часу;
    5. StartTime - string, 5 символів - час початку прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
    6. EndTime - string, 5 символів - час закінчення прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
    7. LoyaltyAuthCode - string, Номер картки лояльності;
    8. ContractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists. 0 - системна умова, >0 - ідентифікатор обраної умови;
    9. ContractConditionAddIDs- int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists;
    10. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    11. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту
    4. EndDate - date, дата закінчення прокату прокату - ведеться ігнорування часу;
    5. StartTime - string, 5 символів - час початку прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
    6. EndTime - string, 5 символів - час закінчення прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
    7. LoyaltyAuthCode - string, Номер картки лояльності;
    8. ContractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists. 0 - системна умова, >0 - ідентифікатор обраної умови;
    9. ContractConditionAddIDs- int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists;
    10. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
    11. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки;
    4. ValuteShort - string, рядок, скорочення базової валюти в зазначеній мові
    5. RentalTypes - RentalType[], одновимірний масив JSON структур RentalType, у якому зберігається інформація про типи прокатів:
        a. ID - int, ID типу прокату в базі PMS.
        b. RentalTypeName - string, найменування типу прокату
        c. FreeRentalResource - int, кількість вільних ресурсів прокату цього типу для бронювання.
        d. PriceLists - PriceList[], одновимірний масив JSON структур PriceList, у якому зберігається інформація про прейскуранти, що повертаються, а також про ціни для цих прейскурантів на запитувані категорії кімнат:
            i. PriceListID - int, ID прейскуранта в базі HMS;
            ii. PriceListName - string, найменування прейскуранта;
            iii. ConditionID - int, ID умови договору; iv. IsNonReturnRate - int, ознака неповоротного тарифу, 1 - неповоротний тариф, 0 - поворотний тариф.
    v. IsSpecRate- int, ознака спеціальної пропозиції, 1 - спеціальна пропозиція, 0 - звичайний тариф.
    vi. Services - Service[], одновимірний масив JSON структур
Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
        1. ServiceID - int, ідентифікатор послуги
        2. ServiceName - string, назва послуги
        3. ServiceCode - int, податковий код групи
        4. ServiceSystemCode - string, системний код
        5. ServiceTypeName - string, назва типу улуги
        6. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
            a. Date - datetime, дата і час споживання послуги
            b. Price - double, сума нарахування в поточний день
            c. RackRatePrice - double, сума нарахування в поточний день за прейскурантом стійки
 
==AddRentalReservation==
Функція AddRentalReservation створює нові броні прокатів у базі за вхідними параметрами, і повертає ID прокатів.
 
'''Вхідні параметри:'''
    1. HotelID - int, від 1 до +∞, ID готелю
    2. Account - string, ідентифікатор бронювання споживача прокату. Строкове (1013 символів) представлення Л/Рахунку гостя або персонального акаунта.
Формат: "Префікс""Натуральне число""Суфікс", де префікс - буква з множини {'' (порожньо= гість), 'B' (персональний акаунт) "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями,
"Суфікс"
- суфікс системи (необов'язковий параметр)
    3. Rentals- Rental[], одновимірний масив JSON структур Service, у якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних прокатів, які потрібно забронювати:
        a. RentalTypeID - int, ID типу прокату.
        b. StartDate - datetime, дата початку прокату.
        c. EndDate - datetime, дата закінчення прокату.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
    4. Rentals- int[], масив цілих чисел, що позначає ID заброньованих прокатів
CancelRentals
Функція CancelRentals здійснює ануляцію (скасування бронювання) прокатів.
Вхідні параметри:
1. RentalIDs - int[], масив цілих чисел, що позначає ID прокатів.
Значення, що повертається:
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
    3. ErrorCode - string, код помилки.
 
 
==UpdateHotelInfo==
Оновлення інформації щодо готелів.
 
'''Вхідні параметри:'''
    1. HotelInfos - HotelInfo[], одновимірний масив JSON структур HotelInfo, у якому міститься така інформація:
1.1 HotelID - int, ID готелю для якого оновлюється інформація;
2.1 Base64Images - string[], масив рядків, що
містять закодовані в Base64 формат послідовність байт вмісту файлів зображень;
3.1 HotelContacts - HotelContact[], одновимірний
масив JSON структур HotelContact, у якому міститься опис інформації щодо готелю певною мовою і має такі поля:
        a. LanguageISO1Code - string, двобуквений код мови, для якої оновлюється інформація;
        b. HotelName- string, назва готелю відповідною мовою;
        c. HotelAddress - string, адреса готелю відповідною мовою;
        d. HotelDescription - string, опис готелю відповідною мовою.
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки.
 
==UpdateRoomTypeInfo==
Оновлення інформації за типами номерів готелю.
 
Вхідні параметри:
    1. RoomInfos - RoomInfo[], одновимірний масив JSON структур RoomInfo, у якому міститься така інформація:
1.1 RoomTypeID - int, ID типу номера для якого оновлюється інформація;
2.1 Base64Images - string[], масив рядків, що
містять закодовані в Base64 формат послідовність байт вмісту файлів зображень;
3.1 RoomTypeDescriptions - RoomTypeDescription[], одновимірний масив JSON структур RoomTypeDescription, у якому міститься опис інформації за типом номера певною мовою і має такі поля:
        a. LanguageISO1Code - string, двобуквений код мови, для якої оновлюється інформація;
        b. RoomTypeDescription - string, опис номера певною мовою.
 
Значення, що повертається:
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки.
 
==GetServicePrices==
Отримання вартості певної послуги для певного прейскуранта.
 
'''Вхідні параметри:'''
    1. PriceListID - int, ідентифікатор прайс-листа для якого треба отримати вартість послуги;
    2. IsGroup - bool, true - розрахунок проводиться для групи, false - для гостя;
    3. Services - Service[], одновимірний масив JSON структур Service, у якому міститься така інформація:
        3.1. ServiceCode - int, код послуги;
        3.2. Quantity - десяткова, кількість;
        3.3. ConsumptionDate - datetime, дата і час споживання послуги.
    4. ISOCodeValute - string, необов'язковий параметр, 3 символи, трибуквена iso
        назва валюти.
 
==GetReservationInfoByEmail==
Отримання інформації про бронювання по email.
 
'''Вхідні параметри:'''
    1. Email - string, email адреса, за якою шукатимуться броні;
    2. Limit - int, кількість записів, які будуть виведені у відповіді;
    3. Offset - int, кількість записів, які потрібно пропустити;
 
'''Значення, що повертається:'''
 
Повертається JSON структура з такими полями:
    1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
    3. ErrorCode - string, код помилки;
    4. Length - int, загальна кількість броней, які знайшлися за заданим email;
    5. Reservations - Reservation[], одновимірний масив JSON структур Reservation, у якому міститься така інформація:
        5.1. Account - рядок, ідентифікатор бронювання;
        5.2. AccountName - string, ПІБ гостя в бронюванні / назва заходу.
        5.3. HotelID - int, ID готелю, якому належить бронь;
        5.4. DateArrival - DateTime, дата заїзду/дата початку заходу;
        5.5. DateDeparture - DateTime, дата виїзду/дата закінчення заходу;
        5.6. Adults - int, від 1 до 1000. Кількість дорослих людей;
        5.7. Childs - int, від 0 до 1000. Кількість дітей;
        5.8. RoomTypeID - int, 1 до +∞, ID категорії номера / ID типу заходу;
        5.9. RoomType -string, назва категорії номера/ назва типу заходу;
        5.10. StatusID - int, код статусу бронювання;
        5.11. StatusName - string, назва статусу бронювання гостя/заходу
 
==OnlinePaymentInfo==
Отримання інформації про нарахування та рахунки для оплати онлайн системою.
 
'''Вхідні параметри:'''
    1. Account - string, акаунт, про який необхідно отримати інформацію (формат:
<префікс><ідентифікатор доповнений зліва нулями до 10 символів>, префікси та їхні об'єкти: "" - гість, "G" - група, "A" - захід, "I" - рахунок)
    2. ValuteISOCode - string, код валюти згідно з ISO 4217
 
'''Значення, що повертається:'''
    1. Result - int, результат виконання, 0 - OK, 1 - Function Error, 2 - Incorrect string
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок
    3. ErrorCode - string, код помилки
    4. HotelID - int, ідентифікатор готелю
    5. AccountName - string, найменування платника
    6. FirstDate - date, дата заїзду/початку
    7. LastDate - date, дата виїзду/кінця
    8. Adults - int, кількість дорослих
    9. Childs - int, кількість дітей
    10. TypeID - int, ідентифікатор типу/категорії
    11. TypeName - string, найменування типу/категорії
    12. StatusID - int, код статусу
    13. StatusName - string, назва статусу
    14. Email - рядок, електронна пошта
    15. Phone - рядок, контактний телефон
    16. ValuteISOCode - string, код валюти згідно з ISO 4217
    17. ValuteShort - string, скорочення валюти
    18. PaidType - int, код типу оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата
    19. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
    20. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
    21. Services - ServiceInfo[], інформація за цінами послуг поза рахунком
        21.1. ServiceID - int, ідентифікатор послуги
        21.2. ServiceName - string, найменування послуги
        21.3. ServiceCode - int, крд послуги
        21.4. ServiceSystemCode - string, системний код послуги
        21.5. ServiceTypeName - string, назва типу послуги
        21.6. PriceDate - PriceDate[], інформація про ціни для проміжку часу
            21.6.1. Date - date, дата споживання
            21.6.2. Price - десяткова?, вартість
            21.6.3. TaxRate - decimal?, податкова ставка
            21.6.4. TaxAmount - decimal?, сума податку
            21.6.5. IsPaid - bool, ознака оплати (як повної так і часткової)
            21.6.6. CustomerAccount - особовий рахунок споживача
            21.6.7. PayAccount - особовий рахунок платника (присутній тільки для оплачених)
            21.6.8. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
            21.6.9. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
    22. Bills - BillInfo[], інформація за рахунками
        22.1. BillID - int, ідентифікатор рахунку
        22.2. ServiceProviderID - int, ідентифікатор постачальника послуг у рахунку
        22.3. ServiceProviderName - string, найменування постачальника послуг у рахунку
        22.4. Services - ServiceInfo[], інформація щодо послуг у рахунку
 
==GetHotelRooms==
Отримання всіх активних кімнат готелю.
 
'''Вхідні параметри:'''
    1. HotelId - int, ID готелю, для якого потрібно отримати список кімнат.
 
'''Значення, що повертається:'''
    1. Result - int, результат виконання, 0 - OK, 1 - Function Error, 2 - Incorrect string
    2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок
    3. ErrorCode - string, код помилки
    4. Rooms - Room[], інформація по кімнатах
        4.1. RoomId - int, ідентифікатор кімнати
        4.2. RoomNumber - string, номер кімнати

Поточна версія на 11:31, 16 вересня 2025

Опис протоколу для інтеграції зовнішнього модуля бронювання з Servio HMS


Формат запитів JSON

Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче. {

  "firstName": "Ім'я",
  "lastName": "Прізвище",
  "адреса": {
      "streetAddress": "Швидке ш., 101, кв.101",
      "city": "Місто",
      "postalCode": 101101
  },
  "phoneNumbers": [
      "+380(98)-765-43-21",
      "+380(98)-123-45-67"
  ]

}

Формат даних

  • Формат дати/часу: "yyyy-MM-dd HH:mm:ss";
  • Формат дати: "yyyy-MM-dd"
  • Формат часу: "HH:mm"
  • Роздільник типів із плаваючою крапкою(double): "."

Опис функцій спілкування

GetCompanyInfo

Функція GetCompanyInfo повертає інформацію про компанію, або помилку.

Вхідні параметри:

  1. CompanyCode - string, довжина рядка до 20 символів. Ідентифікаційний код компанії.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки. Якщо компанія за кодом не знайдена код помилки - CompanyNotFound
   4. CompanyID - int, ідентифікатор компанії.
   5. CompanyCodeID - int, ідентифікатор коду компанії.
   6. CompanyName - string, назва компанії
   7. CompanyEmail - string, ел. пошта компанії
   8. CompanyFax - рядок, факс компанії
   9. ComanyPhoneNumber - string, номер контактного телефону компанії
   10. IsPrepayment - bool, працює за передоплатою

Get Rooms

Функція GetRooms отримує за вхідними параметрами список категорій номерів із зазначенням кількості вільних номерів кожної категорії.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. DateArrival - date, дата заїзду - ведеться ігнорування часу.
   3. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
   4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
   5. Adults - int, від 1 до 1000. Кількість дорослих людей
   6. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
   7. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
   8. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
   9. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
   10. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
   11. Isolanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, , 1 - Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
       a. ID - int, ID категорії номера в базі PMS.
       b. FreeRoom - int, кількість вільних номерів цієї категорії.
       c. MainPlacesCount - int, кількість основних місць у номері.
       d. NearestDateToReservation - Nullable<datetime>, дата найближчої можливої броні
   5. СontractConditions - СontractCondition[], одновимірний масив JSON структур СontractCondition, у якому зберігається інформація щодо умов договорів компанії. Це поле заповнюється тільки якщо CompanyID > 0, кількість елементів у масиві відповідає кількості умов договорів, що діють на дату заїзду:
       a. СontractConditionID - int, ідентифікатор умови договору компанії.
       b. СontractConditionName - string, назва умови договору компанії.
       c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
       d. ExpiredDate - datetime, дата закінчення поточного договору компанії.

GetPrices

Функція GetPrices отримує за вхідними параметрами список заявок на бронювання із зазначенням списку послуг і цін на кожен день проживання за кожною заявкою. Далі на сайті цю інформацію обробляють і групують у зручному для користувача вигляді.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
   3. DateArrival - date, дата заїзду - ведеться ігнорування часу.
   4. DateDeparture - date, дата виїзду - ведеться ігнорування часу.
   5. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
   6. Adults - int, від 1 до 1000. Кількість дорослих людей
   7. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
   8. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
   9. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
   10. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
   11. RoomTypeIDs - int[], масив ідентифікаторів категорій номерів, для яких потрібно брати ціну.
   12. СontractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists.  0 - системна умова, >0  - ідентифікатор обраної умови.
   13. СontractConditionAddIDs - int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists.
   14. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   15. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
   16. IsTouristTax - int, параметр чи оподатковується цей гість, 1- оподатковується, 0 - не оподатковується. За замовчуванням 1.
   17. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.
   18. AgentCategories - int[], масив категорій контрагентів (можливі значення елементів масиву як у полі AgentCategory). Якщо масив містить хоча б один елемент, то ціни за послугами-надбавками повертаються окремо від цін на основні послуги.
   19. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
   20. LoyaltyAuthCode - string, 20 символів. Код бронювання програми лояльності (обов'язкове поле).

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. ValuteShort - рядок, скорочення базової валюти в зазначеній мові.
   5. PriceLists - PriceList[], одновимірний масив JSON структур PriceList, у якому зберігається інформація про прейскуранти, що повертаються, а також про ціни для цих прейскурантів на запитувані категорії кімнат: 
       a. PriceListID - int, ID прейскуранта в базі HMS;
       b. PriceListName - string, найменування прейскуранта;
       c. ConditionID - int, ID умови договору;
       d. IsNonReturnRate - int, ознака неповоротного тарифу, 1 - неповоротний тариф, 0 - поворотний тариф. 
       e. IsSpecRate- int, ознака спеціальної пропозиції, 1 - спеціальна пропозиція, 0 - звичайний тариф. 
       f. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація щодо цін для категорій кімнат:
           i. ID - int, ID категорії номера в базі HMS.
           ii. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
               1. ServiceID - int, ідентифікатор послуги
               2. ServiceName - string, назва послуги
               3. ServiceCode - int, податковий код групи
               4. ServiceSystemCode - string, системний код
               5. ServiceTypeName - string, назва типу улуги
               6. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
                   a. Date - datetime, дата і час споживання послуги
                   b. Price - double, сума нарахування в поточний день
                   c. RackRatePrice - double, сума нарахування в поточний день за прейскурантом стійки
           iii. AgentCategories - AgentCategory[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг-надбавок для різних категорій контрагентів. Заповнюється залежно від вхідного параметра. AgentCategories: якщо масив містить хоча б один елемент, то ціни на послуги-надбавки повертаються окремо від цін на основні послуги в даному полі; якщо масив не заповнено, то ціни на послуги-надбавки повертаються до RoomType.Services разом із рештою послуг.
               1. AgentCategory - int, категорія контрагента.
               2. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг-надбавок для категорії контрагента.
                          iv. SaleRestrictions - JSON-структура, в якій міститься інформація щодо обмежень продажів для категорії кімнати на вказаний часовий проміжок:
               1. ClosedToSale - JSON-структура містить інформацію про обмеження "Заборона продажів":
                   a.  HasRestrictions - bool, ознака наявності обмеження
                   b. Message - string, текст повідомлення
               2. ClosedToArrive - JSON структура містить інформацію про обмеження "Заборона заїзду":
                   a.  HasRestrictions - bool, ознака наявності обмеження
                   b. Message - string, текст повідомлення
               3. EarlyReservation - JSON структура містить інформацію про обмеження "Раннє бронювання":
                   a.  HasRestrictions - bool, ознака наявності обмеження
                   b. Message - string, текст повідомлення
               4. MinStay - JSON структура містить інформацію про обмеження "Мінімальний період проживання":
                   a.  HasRestrictions - bool, ознака наявності обмеження
                   b. Days - int, кількість днів. 0 - якщо відсутні чинні обмеження на мінімальний період проживання.
                   c. Message - string, текст повідомлення
               5. MinPay - JSON структура містить інформацію про обмеження "Мінімальна передоплата":
                   a. Days - int, кількість днів.
                   b. Message - string, текст повідомлення
                   c. MinPayPaymentRules - MinPayPaymentRuleInfo[], одновимірний масив JSON структур MinPayPaymentRuleInfo, у якому зберігається інформація про обов'язковість оплат:
   i. TimeFromArriveDate - long, Час до заїзду (сек.), діє в більший бік, тобто в разі різниці між датою заїзду та датою бронювання, більшої за це значення, оплата буде обов'язковою, якщо меншою - ні.
   ii. TimeForPayment - long, час для оплати з дати бронювання (сек.)

AddRoomReservation

Функція AddRoomReservation створює нову бронь у базі за вхідними параметрами і повертає ID броні. Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. DateArrival - date, дата заїзду - ведеться ігнорування часу.
   3. DateDeparture - date .Дата виїзду - ведеться ігнорування часу.
   4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
   5. Adults - int, від 1 до 1000. Кількість дорослих людей
   6. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
   7. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
   8. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
   9. GuestLastName - string, прізвище гостя
   10. GuestFirstName - string, ім'я гостя
   11. RoomTypeID - int, 1 до +∞, ID категорії номера
   12. CompanyID - int, ідентифікатор (ID) компанії під якою відбувається бронювання
   13. Company - рядок, назва компанії
   14. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0 - ідентифікатор обраної умови.
   15. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   16. Iso3Country - string, рядок 3 символи, iso позначення країни.
   17. Country - string, назва країни
   18. Address - рядок, адреса проживання
   19. Phone - рядок, телефон
   20. Fax - рядок, факс
   21. eMail - рядок, пошта
   22. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
   23. Comment - string, рядок коментарів. Обріжеться під час вставки в базу.
   24. ClientInfo - string, додаткова інформація про людину, яка зробила бронь: IP-адреса, тощо.
   25. IsTouristTax - int, ознака включення тур.збору в автоматично створений рахунок, 1- включається, 0 - не включається
   26. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.
   27. PriceListID - int, 1 до +∞, ID прейскуранта
   28. LoyaltyCardTypeID - int, ідентифікатор типу карти лояльності.
   29. LoyaltyCardNumber - string, 20 символів. Код бронювання програми лояльності.
   30. ContactName - string, до 50 символів. Контактна особа під час бронювання.
   31. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
   32. BirthDate - date, дата народження.
   33. UTM_CAMPAIGN - string, 128 символів - UTM-мітка. Назва рекламної кампанії
   34. UTM_CONTENT - string, 128 символів - UTM-мітка. Інформація, яка допомагає розрізняти оголошення, якщо збігаються інші параметри
   35. UTM_MEDIUM - string, 128 символів - UTM-мітка. Тип трафіку
   36. UTM_SOURCE - string, 128 символів - UTM-мітка. Рекламна система
   37. UTM_TERM - string, 128 символів - UTM-мітка. Ключове слово, яке ініціювало показ оголошення

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Account - int, від 1 до +∞, ID броні

SetReservationType

Функція SetReservationType змінює тип зазначеної броні на гарантовану. Додатково ця функція дає змогу проводити оплат і гарантувати захід, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   2. Amount - double, сума за перший день проживання
   3. RRN - string, RRN-код платіжної операції.
   4. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz.
   5. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
       a. ServiceID - int, ідентифікатор послуги
       b. ServiceName - string, назва послуги, допускається порожнє значення 
       c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
       d. ServiceSystemCode - string, системний код, допускається порожнє значення
       e. ServiceTypeName - string, назва типу послуги, допускається порожнє значення
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           i. Date - datetime, дата і час споживання послуги
           ii. Price - double, сума нарахування в поточний день
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   6. ServiceProviderID - int, необов'язковий параметр, ідентифікатор постачальника послуг, використовуваного для виставлення рахунків під час оплати кредитною карткою.
   7. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1  Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.

SetReservationBill

Функція SetReservationBill функція є проміжною ланкою перед оплатою нарахування, вона створює на картці відповідної сутності рахунок і поміщає в нього зазначений список нарахувань послуг, за якими стягуватиметься оплата. Після формування рахунку і перерахунку податків функція повертає уточнений список послуг з остаточними цінами (Використовується для коригування вартості надбавки в рахунках з різними постачальниками). Ця функція дає змогу готувати захід, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   2. Amount - double, сума за перший день проживання
   3. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
       a. ServiceID - int, ідентифікатор послуги
       b. ServiceName - string, назва послуги, допускається порожнє значення
       c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
       d. ServiceSystemCode - string, системний код, допускається порожнє значення
       e. ServiceTypeName - string, назва типу улуги, допускається порожнє значення
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           i. Date - datetime, дата і час споживання послуги
           ii. Price - double, сума нарахування в поточний день
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   4. ServiceProviderID - int, необов'язковий параметр, ідентифікатор постачальника послуг, використовуваного для виставлення рахунків під час оплати кредитною карткою.
   5. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1- Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A'
    (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   5. Amount - double, сума за перший день проживання
   6. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
       a. ServiceID - int, ідентифікатор послуги
       b. ServiceName - string, назва послуги
       c. ServiceCode - int, бухгалтерський код послуги
       d. ServiceSystemCode - string, системний код
       e. ServiceTypeName - string, назва типу улуги
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           i. Date - datetime, дата і час споживання послуги
           ii. Price - double, сума нарахування в поточний день
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.

RevertTransaction

Функція RevertTransaction для типу транзакції робить повернення за кредиткою Функція RevertTransaction дає змогу проводити повернення оплати з сайту. Додатково ця функція дає змогу проводити повернення оплати для заходу, у цьому разі в поле Л/Рахунки додається префікс A і групи префікс G.

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   2. Amount - double, сума повернення за транзакцією
   3. RRN - string, RRN-код платіжної операції.
   4. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz.
   5. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
       a. ServiceID - int, ідентифікатор послуги
       b. ServiceName - string, назва послуги, допускається порожнє значення
       c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення
       d. ServiceSystemCode - string, системний код, допускається порожнє значення
       e. ServiceTypeName - string, назва типу улуги, допускається порожнє значення
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           i. Date - datetime, дата і час споживання послуги
           ii. Price - double, сума нарахування в поточний день
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.

GetAccountBill

Функція GetAccountBill формує і повертає рахунок у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

GetAccountConfirm

Функція GetAccountConfirm формує і повертає підтвердження бронювання у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

GetRoomTypesList

Функція GetRoomTypesList повертає список категорій номерів за готелем.

Вхідні параметри:

   1. HotelID - int, від 0 до +∞, ID готелю, якщо 0, то виводяться категорії номерів по всіх готелях

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Count - визначає розмірність повернених масивів.
   5. IDs - int[], масив цілих чисел, ID категорій номерів у базі.
   6. ClassNames - string[], масив рядків, назви категорій номерів.
   7. HotelIDs - int[], масив цілих чисел, ID готелю категорії номерів.

GetGroupRooms

Функція GetGroupRooms отримує за вхідними параметрами список категорій номерів із зазначенням кількості вільних номерів кожної категорії.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. BookingRequests - BookingRequest[], одновимірний масив JSON структур BookingRequest, у якому зберігається інформація щодо заявок на бронювання кімнат:
       a. DateArrival - date, дата заїзду - ведеться ігнорування часу.
       b. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
       c. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
       d. TimeDeparture - string, 5 символів - час виїзду (н/р: "20:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
       e. Adults - int, від 1 до 1000. Кількість дорослих людей
       f. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
       g. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
       h. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
   3. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.
   4. CompanyСodeID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання


Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2-Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. BookingRequestAnswers - BookingRequestAnswer[], одновимірний масив JSON структур BookingRequestAnswer, у якому зберігається інформація про знайдені категорії номерів за заявками на бронювання кімнат: 
       a. RoomTypes - RoomType[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
           i. ID - int, ID категорії номера в базі PMS.
           ii. FreeRoom - int, кількість вільних номерів цієї категорії.
           iii. MainPlacesCount - int, кількість основних місць у номері.
           iv. NearestDateToReservation-Nullable<datetime>, дата найближчої можливої броні.
   5. СontractConditions - СontractCondition[], одновимірний масив JSON структур СontractCondition, у якому зберігається інформація щодо умов договорів компанії. Це поле заповнюється тільки якщо CompanyID > 0, кількість елементів у масиві відповідає кількості умов договорів, що діють на дату заїзду:
       a. СontractConditionID - int, ідентифікатор умови договору компанії.
       b. СontractConditionName - string, назва умови договору компанії.
       c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.

AddGroupRoomReservation

Функція AddGroupRoomReservation створює нову групову бронь у базі за вхідними параметрами, і повертає ID броні групи в системі. Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. GroupName - string, назва групи
   3. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
   4. Company - рядок, назва компанії
   5. Iso3Country - string, рядок 3 символи, iso позначення країни.
   6. Country - string, назва країни
   7. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   8. ContactName - string, контактна особа групи
   9. ContactEMail - string, електронна пошта контактної особи
   10. ContactInfo - string, інша контактна інформація по групі. Максимум 500 сивволів.
   11. Comment - string, рядок коментарів. Обріжеться під час вставки в базу
   12. ClientInfo - string, додаткова інформація про людину, яка зробила бронь: IP-адреса, тощо.
   13. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0  - ідентифікатор обраної умови.
   14. RoomReservations - RoomReservation[], одновимірний масив JSON структур RoomReservation, у якому зберігається інформація про заявки бронювання номерів групи:
       a. GuestName - string, необов'язкове поле - ім'я гостя. Якщо не вказано, в ім'я гостя підставляється назва групи.
       b. DateArrival - date дата заїзду - ведеться ігнорування часу.
       c. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
       d. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
       e. TimeDeparture - string, 5 символів - час виїзду (н/р: "20:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
       f. Adults - int, від 1 до 1000. Кількість дорослих людей
       g. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
       h. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
       i. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
       j. RoomTypeID - int, 1 до +∞, ID категорії номера
       k. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
       l. IsTouristTax - int, ознака включення тур.збору в автоматично створений рахунок, 1- включається, 0 - не включається
       m. AgentCategory - int, категорія контрагента. 0 - не вказано (буде використано категорію, налаштовану для готелю за замовчуванням), 1 - Резидент, 2 - Нерезидент.

Примітка: За поточною реалізацією протоколу формат параметра-int, в 11 версії формат буде виправлено на bool, згідно відповідності протоколу

       n. PriceListID - int, 1 до +∞, ID прейскуранта
       o. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - умова з групи, >0 - ідентифікатор обраної умови.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Account - int, від 1 до +∞, ID групової броні
   5. RoomReservations - RoomReservation[], одновимірний масив JSON структур RoomReservation, у якому зберігається інформація про заявки бронювання номерів групи:
           i. DateArrival - date, дата заїзду - ведеться ігнорування часу.
           ii. DateDeparture - date. Дата виїзду - ведеться ігнорування часу.
           iii. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі.
           iv. Adults - int, від 1 до 1000. Кількість дорослих людей
           v. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок.
           vi. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка.
           vii. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів.
           viii. RoomTypeID - int, 1 до +∞, ID категорії номера
           ix. NeedTransport - int, від 0 до 1, потрібно замовити транспорт 0 - не потрібно, 1 - потрібно
           x. IsTouristTax - int, параметр чи оподатковується цей гість, 1- оподатковується, 0 - не оподатковується. За замовчуванням 1.
           xi. PriceListID - int, 1 до +∞, ID прейскуранта
           xii. GuestAccount - int, від 1 до +∞, ID індивідуальної броні гостя

GetGroupAccountBill

Функція GetGroupAccountBill формує і повертає рахунок групи у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID групової броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

GetGroupAccountConfirm

Функція GetGroupAccountConfirm формує і повертає групове підтвердження бронювання у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID групової броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

GetLoyaltyCardNumberInfo

Функція GetLoyaltyCardNumberInfo повертає інформацію за карткою лояльності. Якщо картки немає, то повертається помилка.

Вхідні параметри:

   1. CompanyID - int, ідентифікатор компанії, >0 - визначає ID компанії під якою відбувається бронювання
   2. LoyaltyCardTypeID - int, ідентифікатор типу карти лояльності.
   3. HotelID - int, від 1 до +∞, ID готелю
   4. LoyaltyCardNumber - string, номер картки лояльності.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. СontractConditionID - int, 0 - немає значення, ідентифікатор умови договору компанії.
   5. СontractConditionName - string, назва умови договору компанії.
   6. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   7. GuestLastName - string, прізвище гостя
   8. GuestFirstName - string, ім'я гостя
   9. PriceListID - int, 0 - немає значення, 1 до +∞ -  ID прейскуранта

GetLoyaltyCardTypes

Функція GetLoyaltyCardTypes повертає інформацію щодо заведених програм карт лояльності.

Вхідні параметри: Немає

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. LoyaltyCardTypes - LoyaltyCardType[], одновимірний масив JSON структур LoyaltyCardType, у якому зберігається інформація про типи програм лояльності:
       a. LoyaltyCardTypeID - int, ідентифікатор типу картки лояльності.
       b. LoyaltyCardTypeName - string, назва типу картки лояльності.

GetDocument

Функція GetDocument повертає інформацію щодо сформованого документа, поставленого для створення раніше.

Вхідні параметри:

   1. DocumentID - int, ідентифікатор документа для пошуку.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. IsReady - bool, логічне значення, що визначає, чи готовий документ на поточний момент. При цьому запит може бути опрацьовано, але документ не сформовано через помилку.
   5. DocumentCode - string, бінарний код документа або папки формату zip потрібного формату даних у вигляді рядка в Base64.

GetReservationInfo

Функція GetReservationInfo повертає інформацію щодо створеного бронювання, дані повертаються тільки для підтверджених бронювань. Додатково додано відображення даних за заброньованими заходами в разі якщо Л/Рахунок має префікс A і групи префікс G

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. HotelID - int, від 1 до +∞, ID готелю
   5. AccountName - string, ПІБ гостя в бронюванні / назва заходу.
   6. DateArrival - datetime, дата і час заїзду.
   7. DateDeparture - datetime. Дата і час виїзду.
   8. Adults - int, від 1 до 1000. Кількість дорослих людей
   9. Childs - int, від 0 до 1000. Кількість дітей
   10. RoomTypeID - int, 1 до +∞, ID категорії номера / ID типу заходу
   11. RoomType -string, назва категорії номера/ назва типу заходу
   12. StatusID - int, код статусу бронювання
   13. StatusName - string, назва статусу бронювання гостя/заходу
   14. Email - рядок, електронна пошта гостя/заходу
   15. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   16. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
   17. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
   18. Services - Service[], одновимірний масив JSON структур Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:
       a. ServiceID - int, ідентифікатор послуги
       b. ServiceName - string, назва послуги
       c. ServiceCode - int, бухгалтерський код послуги
       d. ServiceSystemCode - string, системний код
       e. ServiceTypeName - string, назва типу улуги
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           i. Date - datetime, дата і час споживання послуги
           ii. Price - double, сума нарахування в поточний день
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
           iv. IsPaid - bool, показує, чи було нарахування послуги оплачено. True - для повної та часткової оплати.
           v. IsPaidFromSite - bool, показує чи було нарахування послуги оплачено через сайт. Заповнюється, якщо IsPaid =  true.
           vi. PayAccount - string, особовий рахунок, від якого пройшла оплата.
           vii. OrderID - ідентифікатор платіжної операції сайту Reikartz.
           viii. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
           ix. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
   19. MinPays - MinPayInfo[], одновимірний масив JSON структур MinPayInfo, в якому міститься інформація про обмеження "Мінімальна передоплата":
                   a. Account - string, ID групи або гостя
                   b. Days - int, кількість днів.
                   c. CancelationDate - string, необов'язкове поле, дата ануляції броні (н/р: "2021-04-12 18:13:50 +03:00")

GetRoomType

Функція GetRoomType повертає повний опис номера за ID і локалізаціями

Вхідні параметри:

   1. RoomTypeID - int, від 1 до +∞, ID категорії кімнати.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. MainPlacesCount - int, кількість основних місць у номері.
   5. MaxAdditionalPlacesCount - int, Максимальна кількість додаткових ліжок у категорії номері

GetClientDocuments

Функція GetClientDocuments повертає інформацію списку паспортних даних гостя.

Вхідні параметри:

   1. GuestCode - string, HEX рядок, 4 блоки по 4 символи з роздільником дефісом, що містить масив зашифрованих TripleDes алгоритмом даних. Перші 4 байти int32 представлення ID броні даних броні гостя, 5й байт перші 2 цифри року, 6й байт останні 2 цифри року, 7й байт місяць, 8й байт число місяця дати заїзду гостя.  Приклад і код виконання нижче.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. HotelID - int, від 1 до +∞, ID готелю
   5. GuestID - int, від 1 до +∞, ID гостя
   6. GuestName - string, ПІБ гостя в бронюванні.
   7. DateArrival - datetime, дата і час заїзду.
   8. DateDeparture - datetime. Дата і час виїзду.
   9. Adults - int, від 1 до 1000. Кількість дорослих людей
   10. Childs - int, від 0 до 1000. Кількість дітей
   11. RoomTypeID - int, 1 до +∞, ID категорії номера
   12. StatusID - int, код статусу бронювання
   13. StatusName - string, назва статусу бронювання гостя.
   14. ClientDocumentTypes - ClientDocumentType[], одновимірний масив JSON структур ClientDocumentType, в якому зберігається інформація про типи реєстраційних документів клієнта:
       a. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
       b. ClientDocumentTypeName - string, назва типу реєстраційного документа.
       c. ClientDocumentFields - string[], одновимірний масив кодів необов'язкових полів реєстраційного документа для цього типу документа
       d. ClientDocumentRequiredFields - string[], одновимірний масив кодів обов'язкових полів реєстраційного документа для цього типу документа
   15. Clients - Client[], одновимірний масив JSON структур Client, у якому зберігається інформація про заведені реєстраційні дані гостя:
       a. ClientID - int, ідентифікатор реєстраційних даних.
       b. LastName - string, до 50, прізвище 
       c. FirstName - string, до 50, ім'я 
       d. MiddleName - string, до 50, по батькові 
       e. BirthDate - datetime, дата народження 
       f. Iso3Nationality - string, 3 символи, iso код країни громадянства
       g. Address - рядок, адреса
       h. Email - рядок, пошта
       i. PhoneNumber - string, номер телефону
       j. CarNumber - string, номер машини
       k. AdultOrChild - boolean, дорослий чи дитина
       l. IsMan - boolean, стать, true - чоловік, false - жінка
       m. Vip - boolean, чи є VIP
       n. Comment - string, до 500, коментар
       o. DocumentPhotoURL - string, адреса для фото анкети
       p. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
       q. ClientDocumentValues - ClientDocumentValue[], одновимірний масив JSON структур ClientDocumentValue, в якому зберігається інформація про значення полів реєстраційного документа, що засвідчує особу та закріплений за проживанням:
           i. ClientDocumentFieldCode - string, код поля реєстраційного документа.
           ii. ClientDocumentFieldValue - string, значення поля реєстраційного документа.

SetClientDocuments

Функція SetClientDocuments проставляє інформацію за списком паспортних даних гостя. Якщо додаються нові паспортні дані, то система перевіряє, збіг введених даних з уже заведеними в системі за такими полями: ПІБ, тип документа, номер і серія документа, дата народження, у разі відповідності даних поле з уже наявними в базі система автоматично підтягує старі дані й оновлює їх відповідно до решти полів.

Вхідні параметри:

   1. GuestID - int, від 1 до +∞, ID гостя
   2. Clients - Client[], одновимірний масив JSON структур Client, в якому зберігається інформація про заведені реєстраційні дані гостя:
       a. ClientID - int, ідентифікатор реєстраційних даних. Для нових реєстраційних даних значення обирається випадково з діапазону від -10000 до -1, у межах однієї транзакції ідентифікатори не повинні збігатися.
       b. LastName - string, до 50, прізвище для анкети - обов'язковий параметр
       c. FirstName - string, до 50, ім'я
       d. MiddleName - string, до 50, по батькові
       e. BirthDate - datetime, дата народження - обов'язковий параметр
       f. Iso3Nationality - string, 3 символи, iso код країни громадянства - обов'язковий параметр
       g. Address - рядок, адреса
       h. Email - рядок, пошта
       i. CarNumber - string, номер машини
       j. PhoneNumber - string, номер телефону
       k. AdultOrChild - boolean, дорослий чи дитина
       l. IsMan - boolean, стать, true - чоловік, false - жінка
       m. Vip - boolean, чи є VIP
       n. Comment - string, до 500, коментар
       o. DocumentPhotoURL - string, адреса для фото анкети
       p. DocumentScan - string, файл скану документа. Формат: "Розширення файлу"; "Тіло файлу у форматі base64", без пробілів, розширення також включає символ "."
       q. ClientDocumentTypeID - int, ідентифікатор типу реєстраційного документа.
       r. ClientDocumentValues - ClientDocumentValue[], одновимірний масив JSON структур ClientDocumentValue, у якому зберігається інформація про значення полів реєстраційного документа клієнта:
           i. ClientDocumentFieldCode - string, код поля реєстраційного документа.
           ii. ClientDocumentFieldValue - string, значення поля реєстраційного документа.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.

GetCompanyReferencedData

Функція GetCompanyReferencedData повертає дані довідників пов'язаних із компаніями.

Вхідні параметри: 1. Немає

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. CompanyLegalForms - CompanyLegalForm[], одновимірний масив JSON структур CompanyLegalForm , у якому зберігається інформація довідника про види правових форм для компаній:
   a. LegalFormID - int, ідентифікатор правової форми компанії
   b. LegalFormName - string, назва правової форми компанії

SearchCompanies

Функція SearchCompanies здійснює пошук компаній за ЄДРПОУ або ІПН.

Вхідні параметри:

   1. ITN - рядок, ІПН компанії.
   2. EGRPOU- рядок, ЄДРПОУ компанії.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Companies - CompanyData [], одновимірний масив JSON структур CompanyData, в якому зберігається інформація про знайдені компанії:
       a. CompanyID - int, ідентифікатор компанії
       b. LegalFormID - int, ідентифікатор правової форми компанії
       c. Name - string, назва компанії
       d. ITN - рядок, ІПН компанії
       e. EGRPOU - рядок, ЄДРПОУ компанії.
       f. LegalAddress- рядок, юридична адреса компанії.

AddCompany

Функція AddCompany створює нову компанію.

Вхідні параметри:

   1. LegalFormID -  int, ідентифікатор правової форми компанії
   2. Name - string, назва компанії
   3. ITN - рядок, ІПН компанії
   4. EGRPOU - рядок, ЄДРПОУ компанії.
   5. ContactPerson - рядок, контактна особа.
   6. FactualAddress - рядок, фактична адреса компанії.
   7. LegalAddress- рядок, юридична адреса компанії.
   8. PostalAddress - рядок, поштова адреса компанії.
   9. PhoneNumber - string, контактний номер телефону.
   10. Email - рядок, контактний email.
   11. Comment - string, примітки.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. CompanyID - int, ідентифікатор створеної компанії

CancelReservation

Функція CancelReservation здійснює ануляцію (скасування бронювання) гостя, групи або заходу, якщо це можливо.

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя, групи або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.

GetRoomTypesMinPrice

Функція GetRoomTypesMinPrice отримує мінімально можливу ціну за категоріями кімнат на 30 днів вперед. Значення функції отримується запитом аналогічним функції GetPrice, де в якості вхідних параметрів використовуються параметри індивідуального бронювання на 30 днів від поточної дати, 1 дорослого, без дітей, 1 місцеве розміщення без додаткових місць, без компанії, за прейскурантом для інтернету за замовчуванням. Отримане значення вартості проживання групується за днями і типами послуг і вибирається мінімальне значення.

Вхідні параметри:

   1. HotelID - int - готель для якого потрібно брати ціни
   2. RoomTypeIDs - int[], масив ідентифікаторів категорій номерів, для яких потрібно брати ціну, якщо порожній - то беремо весь готель

Значення, що повертається:

Повертається JSON структура з такими полями:

   4. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   5. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   6. ErrorCode - string, код помилки.
   7. Prices[] - одновимірний масив json, кількість елементів у ньому дорівнює кількості типів номерів у цьому готелі
       a. RoomTypeID - int
       b. DwellingPrice - double, за проживання
       c. ToursborPrice - double, турсбір

GetMinPrices

Функція GetMinPrices повертає мінімально можливі ціни за вказаними готелями з розбивкою за категоріями кімнат на вказаний період. Значення функції отримується запитом аналогічним функції GetPrice, де в якості вхідних параметрів використовуються параметри індивідуального бронювання на вказаний період, 1 дорослого, без дітей, 1 місцеве розміщення без додаткових місць, від зазначеної компанії, за прейскурантами, доступними компанії. Отримане значення вартості проживання групується за днями і типами послуг і вибирається мінімальне значення.

Вхідні параметри:

   1. HotelIDs - int[] - масив ідентифікаторів готелів, для яких потрібно брати ціни.
   2. StartDate - datetime, дата початку періоду.
   3. EndDate - datetime, дата закінчення періоду.
   4. CompanyCode - string, довжина рядка до 20 символів. Ідентифікаційний код компанії.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. ValuteShort - рядок, скорочення базової валюти в зазначеній мові.
   5. HotelsPrices - HotelsPrices[], одновимірний масив JSON структур HotelsPrices, в якому зберігається інформація за мінімальними цінами готелів на вказаний період:
       a. HotelID - int, ідентифікатор готелю
       b. HotelPrices - HotelPrices[], одновимірний масив JSON структур HotelPrices, в якому зберігається інформація за мінімальними цінами готелю на вказаний період:
           i. Date - datetime, дата на яку розраховані ціни.
           ii. MinPrice - мінімальна ціна готелю на дату.
           iii. Rooms[] - одновимірний масив цін із розбивкою за категоріями кімнат:
               1. RoomTypeID - int, ідентифікатор категорії кімнати.
               2. Price - мінімальна з цін бронювання в цій категорії на дату, серед прейскурантів доступних за кодом компанії.

GetAccountCancellation

Функція GetAccountCancellation формує і повертає документ ануляції бронювання у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

GetGroupAccountCancellation

Функція GetGroupAccountCancellation формує і повертає документ ануляції бронювання групи у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. Account - int, від 1 до +∞, ID групової броні
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою.
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. DocumentID - int, посилання на документ, який буде зроблено

AddFileToReservation

Функція AddFileToReservation додає до сутності файли документів.

Вхідні параметри:

   1. Account - string, ідентифікатор бронювання. Строкове (10/11 символів) представлення Л/Рахунку гостя, групи або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.
   2.  FileName - string, назва файлу з розширенням. До прив'язки приймаються файли тільки з такими розширеннями ".png", ".jpg", ".jpeg", ".bmp", ".tiff", ".tif", ".gif", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".odt", ".ods", ".txt", ".zip", ".rar", ".7z".
   3. FileBase64 - string,  Тіло файлу в base64 форматі. Розмір рядка має бути в межах від 100 до 4 000 000 символів.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Account - string, ідентифікатор бронювання.

GetBillInfo

Функція GetBillInfo отримує інформацію про рахунок за його ID. Дані повертаються тільки якщо рахунок є рахунком верхнього рівня.

Вхідні параметри:

   1. BillID - string, ідентифікатор рахунку.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки;
   4. PayerID - int, ID платника;
   5. Status - int, статус рахунку: 0 - не збережений, 1 - відкритий, 2 - закритий, -1 - анульований;
   6. PayerPrintName - string, найменування платника;
   7. ValuteID - int, ID валюти;
   8. ValuteShort - string, скорочення валюти;
   9. ServiceProviderID - int, ID постачальника послуг;
   10. ServiceProviderName - string, найменування постачальника послуг;
   11. Services - Services[], одновимірний масив JSON структур Service, у якому зберігається така інформація:
       a. ServiceID - int, ідентифікатор послуги;
       b. ServiceName - string, назва послуги;
       c. ServiceCode - int, бухгалтерський код послуги;
       d. ServiceSystemCode - string, системний код;
       b. ServiceTypeName - string, назва типу улуги;
       e. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуг для зазначеного проміжку часу:
           i. Date - datetime, дата і час споживання послуги;
           ii. PaymentID - int, ID нарахування;
           iii. CustomerAccount - string, ідентифікатор споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс""Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями;
           iv. CustomerName - string, найменування споживача послуги;
           v. Quantity - десяткова, кількість;
           vi. Price - десяткова, ціна;
           vii. IsPaid - bool, показує чи було нарахування послуги оплачено. True - оплачено;
           viii. IsPaidFromSite - bool, чи було оплачено нарахування через сайт. True - якщо було оплачено через сайт;
           ix. OrderID - ідентифікатор платіжної операції сайту.

SetBillPayment

Функція SetBillPayment приймає ID наявного рахунка і список послуг для оплати, формує чек на оплату і оплачує за касою.

Вхідні параметри:

   1. BillID - int, ID рахунку для оплати;
   2. RRN - string, RRN-код платіжної операції;
   3. OrderID - int, необов'язкове поле. Ідентифікатор платіжної операції сайту Reikartz;
   4. Services - Service[], одновимірний масив JSON структур Service, у якому зберігається така інформація:
       a. ServiceID - int, ідентифікатор послуги;
       b. ServiceName - string, назва послуги, допускається порожнє значення;
       c. ServiceCode - int, бухгалтерський код послуги, допускається порожнє значення;
       d. ServiceSystemCode - string, системний код, допускається порожнє значення;
       e. ServiceTypeName - string, назва типу послуги, допускається порожнє значення;
       f. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, у якому зберігається інформація за цінами послуги для зазначеного часового проміжку: 
           i. Date - datetime, дата і час споживання послуги;
           ii. Price - double, сума нарахування в поточний день;
           iii. CustomerAccount - string, ідентифікатор бронювання споживача послуги. Строкове (10/11 символів) представлення Л/Рахунку гостя або заходу. Формат: "Префікс", "Натуральне число", де префікс - буква з множини { (порожньо = гість), 'A' (activity = захід), 'G' (group = група)}, "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями.

Значення, що повертається:

Повертається JSON структура з такими полями:

1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
ErrorCode - string, код помилки.

GetReceiptBill

Функція GetReceiptBill формує і повертає рахунок у вигляді стисненого zip документа або папки в потрібному форматі.

Вхідні параметри:

   1. BillID - int, ID рахунку;
   2. IsoLanguage - string, 2 символи, двобуквена iso назва мови для створення документа потрібною мовою;
   3. Format - int, необов'язкове поле формату документа, що повертається: 0 - PDF, 1 - HTML, 2 - Excel, 3 - Doc. За замовчуванням : 0;

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки;
   4. DocumentID - int, посилання на документ, який буде зроблено.

GetVariantRooms

Функція GetVariantRooms повертає за вхідними параметрами список категорій номерів із кількістю вільних місць на різні дати.

Вхідні параметри:

   1. HotelID- int, ID готелю;
   2. DateArrival - date, бажана дата заїзду - ведеться ігнорування часу;
   3. DateDeparture - date, бажана дата виїзду - ведеться ігнорування часу;
   4. TimeArrival - string, 5 символів - час заїзду (н/р: "14:00"), якщо час заїзду не вказано, передавати порожній рядок, у такому разі час заїзду буде проставлятися в автоматичному режимі;
   5. TimeDeparture - string, 5 символів - час виїзду (н/р: "14:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі;
   6. Adults - int, від 1 до 1000. Кількість дорослих людей;
   7. Childs - int, від 0 до 1000. Якщо кількість дітей немає на формі (визначається параметром), приходить порожній рядок;
   8. ChildAges - int[], масив цілих чисел, що означають вік кожної дитини. Якщо кількість дітей більша за розмірність наступного за ним масиву вікових груп, то повертається помилка;
   9. RoomTypeIDs - int[], масив ідентифікаторів типів кімнат;
   10. IsExtraBedUsed - bool, логічне значення. Можливість використання додаткових місць для видачі номерів;
   11. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки;
   4.	RoomTypes - RoomTypes[], одновимірний масив JSON структур RoomType, у якому зберігається інформація за категоріями кімнат:
   a. ID - int, ID категорії номера в базі PMS.
   b. PeriodOfResidence - PeriodOfResidence[], одновимірний масив JSON структур PeriodOfResidence, у якому зберігається інформація щодо можливих періодів бронювання:
       i. FirstDate - DateTime, дата і час заїзду;
       ii. LastDate - DateTime, дата і час виїзду; iii.	FreeRoom - int, кількість.

GetRentals

Функція GetRentals повертає за вхідними параметрами список типів прокатів із зазначенням кількості вільних ресурсів прокатів кожного типу і зазначенням списку послуг і цін на кожен день.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю;
   2. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання;
   3. StartDate - date, дата початку прокату - ведеться ігнорування часу;
   4. EndDate - date, дата закінчення прокату прокату - ведеться ігнорування часу;
   5. StartTime - string, 5 символів - час початку прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
   6. EndTime - string, 5 символів - час закінчення прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
   7. LoyaltyAuthCode - string, Номер картки лояльності;
   8. ContractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists. 0 - системна умова, >0 - ідентифікатор обраної умови;
   9. ContractConditionAddIDs- int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists;
   10. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   11. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту
   4. EndDate - date, дата закінчення прокату прокату - ведеться ігнорування часу;
   5. StartTime - string, 5 символів - час початку прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
   6. EndTime - string, 5 символів - час закінчення прокату (н/р: "14:00"), якщо час не вказано, передавати порожній рядок, у такому разі час виїзду проставлятимуть в автоматичному режимі;
   7. LoyaltyAuthCode - string, Номер картки лояльності;
   8. ContractConditionID - int, ідентифікатор умови договору, за якою необхідно отримати PriceLists. 0 - системна умова, >0 - ідентифікатор обраної умови;
   9. ContractConditionAddIDs- int[], масив ідентифікаторів умов договорів, за якими необхідно отримати PriceLists;
   10. PaidType - int, тип оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
   11. IsoLanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки;
   4. ValuteShort - string, рядок, скорочення базової валюти в зазначеній мові
   5. RentalTypes - RentalType[], одновимірний масив JSON структур RentalType, у якому зберігається інформація про типи прокатів:
       a. ID - int, ID типу прокату в базі PMS.
       b. RentalTypeName - string, найменування типу прокату
       c. FreeRentalResource - int, кількість вільних ресурсів прокату цього типу для бронювання.
       d. PriceLists - PriceList[], одновимірний масив JSON структур PriceList, у якому зберігається інформація про прейскуранти, що повертаються, а також про ціни для цих прейскурантів на запитувані категорії кімнат:
           i. PriceListID - int, ID прейскуранта в базі HMS;
           ii. PriceListName - string, найменування прейскуранта;
           iii. ConditionID - int, ID умови договору; iv. IsNonReturnRate - int, ознака неповоротного тарифу, 1 - неповоротний тариф, 0 - поворотний тариф.
   v. IsSpecRate- int, ознака спеціальної пропозиції, 1 - спеціальна пропозиція, 0 - звичайний тариф.
   vi. Services - Service[], одновимірний масив JSON структур 

Service, в якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних послуг:

       1. ServiceID - int, ідентифікатор послуги
       2. ServiceName - string, назва послуги
       3. ServiceCode - int, податковий код групи
       4. ServiceSystemCode - string, системний код
       5. ServiceTypeName - string, назва типу улуги
       6. PriceDates - PriceDate[], одновимірний масив JSON структур PriceDate, в якому зберігається інформація за цінами послуги для категорії кімнати для зазначеного часового проміжку. Кількість елементів у цьому масиві визначає кількість дат, що відображаються користувачеві на сайті:
           a. Date - datetime, дата і час споживання послуги
           b. Price - double, сума нарахування в поточний день
           c. RackRatePrice - double, сума нарахування в поточний день за прейскурантом стійки

AddRentalReservation

Функція AddRentalReservation створює нові броні прокатів у базі за вхідними параметрами, і повертає ID прокатів.

Вхідні параметри:

   1. HotelID - int, від 1 до +∞, ID готелю
   2. Account - string, ідентифікатор бронювання споживача прокату. Строкове (1013 символів) представлення Л/Рахунку гостя або персонального акаунта. 

Формат: "Префікс""Натуральне число""Суфікс", де префікс - буква з множини { (порожньо= гість), 'B' (персональний акаунт) "Натуральне число" - ідентифікатор відповідного об'єкта в системі Servio з провідними нулями, "Суфікс" - суфікс системи (необов'язковий параметр)

   3. Rentals- Rental[], одновимірний масив JSON структур Service, у якому зберігається інформація за цінами послуг. Кількість елементів у цьому масиві визначає кількість різних прокатів, які потрібно забронювати:
       a. RentalTypeID - int, ID типу прокату.
       b. StartDate - datetime, дата початку прокату.
       c. EndDate - datetime, дата закінчення прокату.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Еrror, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.
   4. Rentals- int[], масив цілих чисел, що позначає ID заброньованих прокатів

CancelRentals Функція CancelRentals здійснює ануляцію (скасування бронювання) прокатів. Вхідні параметри: 1. RentalIDs - int[], масив цілих чисел, що позначає ID прокатів. Значення, що повертається: Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string.
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок.
   3. ErrorCode - string, код помилки.


UpdateHotelInfo

Оновлення інформації щодо готелів.

Вхідні параметри:

   1. HotelInfos - HotelInfo[], одновимірний масив JSON структур HotelInfo, у якому міститься така інформація:

1.1 HotelID - int, ID готелю для якого оновлюється інформація; 2.1 Base64Images - string[], масив рядків, що містять закодовані в Base64 формат послідовність байт вмісту файлів зображень; 3.1 HotelContacts - HotelContact[], одновимірний масив JSON структур HotelContact, у якому міститься опис інформації щодо готелю певною мовою і має такі поля:

       a. LanguageISO1Code - string, двобуквений код мови, для якої оновлюється інформація;
       b. HotelName- string, назва готелю відповідною мовою;
       c. HotelAddress - string, адреса готелю відповідною мовою;
       d. HotelDescription - string, опис готелю відповідною мовою.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки.

UpdateRoomTypeInfo

Оновлення інформації за типами номерів готелю.

Вхідні параметри:

   1. RoomInfos - RoomInfo[], одновимірний масив JSON структур RoomInfo, у якому міститься така інформація:

1.1 RoomTypeID - int, ID типу номера для якого оновлюється інформація; 2.1 Base64Images - string[], масив рядків, що містять закодовані в Base64 формат послідовність байт вмісту файлів зображень; 3.1 RoomTypeDescriptions - RoomTypeDescription[], одновимірний масив JSON структур RoomTypeDescription, у якому міститься опис інформації за типом номера певною мовою і має такі поля:

       a. LanguageISO1Code - string, двобуквений код мови, для якої оновлюється інформація;
       b. RoomTypeDescription - string, опис номера певною мовою.

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки.

GetServicePrices

Отримання вартості певної послуги для певного прейскуранта.

Вхідні параметри:

   1. PriceListID - int, ідентифікатор прайс-листа для якого треба отримати вартість послуги;
   2. IsGroup - bool, true - розрахунок проводиться для групи, false - для гостя;
   3. Services - Service[], одновимірний масив JSON структур Service, у якому міститься така інформація:
       3.1. ServiceCode - int, код послуги;
       3.2. Quantity - десяткова, кількість;
       3.3. ConsumptionDate - datetime, дата і час споживання послуги.
   4. ISOCodeValute - string, необов'язковий параметр, 3 символи, трибуквена iso 
       назва валюти.

GetReservationInfoByEmail

Отримання інформації про бронювання по email.

Вхідні параметри:

   1. Email - string, email адреса, за якою шукатимуться броні;
   2. Limit - int, кількість записів, які будуть виведені у відповіді;
   3. Offset - int, кількість записів, які потрібно пропустити; 

Значення, що повертається:

Повертається JSON структура з такими полями:

   1. Result - int, ціле число, що відповідає за результат виконання функції, 0 - OK, 1 - Function Error, 2 - Incorrect string;
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок;
   3. ErrorCode - string, код помилки;
   4. Length - int, загальна кількість броней, які знайшлися за заданим email;
   5. Reservations - Reservation[], одновимірний масив JSON структур Reservation, у якому міститься така інформація:
       5.1. Account - рядок, ідентифікатор бронювання;
       5.2. AccountName - string, ПІБ гостя в бронюванні / назва заходу.
       5.3. HotelID - int, ID готелю, якому належить бронь;
       5.4. DateArrival - DateTime, дата заїзду/дата початку заходу;
       5.5. DateDeparture - DateTime, дата виїзду/дата закінчення заходу;
       5.6. Adults - int, від 1 до 1000. Кількість дорослих людей;
       5.7. Childs - int, від 0 до 1000. Кількість дітей;
       5.8. RoomTypeID - int, 1 до +∞, ID категорії номера / ID типу заходу;
       5.9. RoomType -string, назва категорії номера/ назва типу заходу;
       5.10. StatusID - int, код статусу бронювання;
       5.11. StatusName - string, назва статусу бронювання гостя/заходу

OnlinePaymentInfo

Отримання інформації про нарахування та рахунки для оплати онлайн системою.

Вхідні параметри:

   1. Account - string, акаунт, про який необхідно отримати інформацію (формат:

<префікс><ідентифікатор доповнений зліва нулями до 10 символів>, префікси та їхні об'єкти: "" - гість, "G" - група, "A" - захід, "I" - рахунок)

   2. ValuteISOCode - string, код валюти згідно з ISO 4217 

Значення, що повертається:

   1. Result - int, результат виконання, 0 - OK, 1 - Function Error, 2 - Incorrect string
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок
   3. ErrorCode - string, код помилки
   4. HotelID - int, ідентифікатор готелю
   5. AccountName - string, найменування платника
   6. FirstDate - date, дата заїзду/початку
   7. LastDate - date, дата виїзду/кінця
   8. Adults - int, кількість дорослих
   9. Childs - int, кількість дітей
   10. TypeID - int, ідентифікатор типу/категорії
   11. TypeName - string, найменування типу/категорії
   12. StatusID - int, код статусу
   13. StatusName - string, назва статусу
   14. Email - рядок, електронна пошта
   15. Phone - рядок, контактний телефон
   16. ValuteISOCode - string, код валюти згідно з ISO 4217
   17. ValuteShort - string, скорочення валюти
   18. PaidType - int, код типу оплати 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата
   19. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
   20. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
   21. Services - ServiceInfo[], інформація за цінами послуг поза рахунком
       21.1. ServiceID - int, ідентифікатор послуги
       21.2. ServiceName - string, найменування послуги
       21.3. ServiceCode - int, крд послуги
       21.4. ServiceSystemCode - string, системний код послуги
       21.5. ServiceTypeName - string, назва типу послуги
       21.6. PriceDate - PriceDate[], інформація про ціни для проміжку часу
           21.6.1. Date - date, дата споживання
           21.6.2. Price - десяткова?, вартість
           21.6.3. TaxRate - decimal?, податкова ставка
           21.6.4. TaxAmount - decimal?, сума податку
           21.6.5. IsPaid - bool, ознака оплати (як повної так і часткової)
           21.6.6. CustomerAccount - особовий рахунок споживача
           21.6.7. PayAccount - особовий рахунок платника (присутній тільки для оплачених)
           21.6.8. ServiceProviderID - int, ідентифікатор постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою.
           21.6.9. ServiceProviderName - string, найменування постачальника послуг, що використовується для виставлення рахунків під час оплати кредитною карткою
   22. Bills - BillInfo[], інформація за рахунками
       22.1. BillID - int, ідентифікатор рахунку
       22.2. ServiceProviderID - int, ідентифікатор постачальника послуг у рахунку
       22.3. ServiceProviderName - string, найменування постачальника послуг у рахунку
       22.4. Services - ServiceInfo[], інформація щодо послуг у рахунку

GetHotelRooms

Отримання всіх активних кімнат готелю.

Вхідні параметри:

   1. HotelId - int, ID готелю, для якого потрібно отримати список кімнат. 

Значення, що повертається:

   1. Result - int, результат виконання, 0 - OK, 1 - Function Error, 2 - Incorrect string
   2. Error - string, текст помилки, що сталася, якщо функція виконана успішно, то передається порожній рядок
   3. ErrorCode - string, код помилки
   4. Rooms - Room[], інформація по кімнатах
       4.1. RoomId - int, ідентифікатор кімнати
       4.2. RoomNumber - string, номер кімнати