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

Матеріал з expertsolution
Перейти до навігації Перейти до пошуку
Немає опису редагування
 
(Не показані 28 проміжних версій 2 користувачів)
Рядок 1: Рядок 1:
Опис протоколу для інтеграції зовнішнього модуля бронювання з Servio HMS
=Формат запитів JSON=
=Формат запитів JSON=
Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче.
Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче.
Рядок 56: Рядок 59:
     9. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
     9. CompanyCodeID - int, ідентифікатор коду компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
     10. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
     10. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
    11. Isolanguage - string, 2 символи, двобуквена iso назва мови для виведення запиту.


'''Значення, що повертається:'''
'''Значення, що повертається:'''
Рядок 98: Рядок 102:
     18. AgentCategories - int[], масив категорій контрагентів (можливі значення елементів масиву як у полі AgentCategory). Якщо масив містить хоча б один елемент, то ціни за послугами-надбавками повертаються окремо від цін на основні послуги.
     18. AgentCategories - int[], масив категорій контрагентів (можливі значення елементів масиву як у полі AgentCategory). Якщо масив містить хоча б один елемент, то ціни за послугами-надбавками повертаються окремо від цін на основні послуги.
     19. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
     19. TimeDeparture - string, 5 символів - час виїзду (н/р: "12:00"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
     20. LPAuthCode - string, 20 символів. Код бронювання програми лояльності.
     20. LoyaltyAuthCode - string, 20 символів. Код бронювання програми лояльності (обов'язкове поле).


'''Значення, що повертається:'''
'''Значення, що повертається:'''
Рядок 165: Рядок 169:
     10. GuestFirstName - string, ім'я гостя
     10. GuestFirstName - string, ім'я гостя
     11. RoomTypeID - int, 1 до +∞, ID категорії номера
     11. RoomTypeID - int, 1 до +∞, ID категорії номера
     12. CompanyID - int, ідентифікатор компанії, 0 - немає, >0 - визначає ID компанії під якою відбувається бронювання
     12. CompanyID - int, ідентифікатор (ID) компанії під якою відбувається бронювання
     13. Company - рядок, назва компанії
     13. Company - рядок, назва компанії
     14. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0 - ідентифікатор обраної умови.
     14. СontractConditionID - int, ідентифікатор умови договору компанії. 0 - системна умова, >0 - ідентифікатор обраної умови.
Рядок 326: Рядок 330:
     4. DocumentID - int, посилання на документ, який буде зроблено
     4. DocumentID - int, посилання на документ, який буде зроблено


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


Рядок 343: Рядок 347:
     7. HotelIDs - int[], масив цілих чисел, ID готелю категорії номерів.
     7. HotelIDs - int[], масив цілих чисел, ID готелю категорії номерів.


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


Рядок 378: Рядок 382:
         c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.
         c. PaidTypes - int[], масив кодів типів оплат доступних за цією умовою. Значення елементів масиву: 100 - готівка, 200 - кредитна картка, 300 - безготівкова оплата.


=='''AddGroupRoomReservation'''==
==AddGroupRoomReservation==
Функція AddGroupRoomReservation створює нову групову бронь у базі за вхідними параметрами, і повертає ID броні групи в системі.
Функція AddGroupRoomReservation створює нову групову бронь у базі за вхідними параметрами, і повертає ID броні групи в системі.
Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.
Примітка: У разі вибору типу оплати-300 (безготівкова оплата) в HMS створюється автоматично рахунок на компанію.
Рядок 436: Рядок 440:
             xii. GuestAccount - int, від 1 до +∞, ID індивідуальної броні гостя
             xii. GuestAccount - int, від 1 до +∞, ID індивідуальної броні гостя


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


Рядок 452: Рядок 456:
     4. DocumentID - int, посилання на документ, який буде зроблено
     4. DocumentID - int, посилання на документ, який буде зроблено


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


Рядок 468: Рядок 472:
     4. DocumentID - int, посилання на документ, який буде зроблено
     4. DocumentID - int, посилання на документ, який буде зроблено


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


Рядок 490: Рядок 494:
     9. PriceListID - int, 0 - немає значення, 1 до +∞ -  ID прейскуранта
     9. PriceListID - int, 0 - немає значення, 1 до +∞ -  ID прейскуранта


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


Рядок 506: Рядок 510:
         b. LoyaltyCardTypeName - string, назва типу картки лояльності.
         b. LoyaltyCardTypeName - string, назва типу картки лояльності.


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


Рядок 522: Рядок 525:
     5. DocumentCode - string, бінарний код документа або папки формату zip потрібного формату даних у вигляді рядка в Base64.
     5. DocumentCode - string, бінарний код документа або папки формату zip потрібного формату даних у вигляді рядка в Base64.


=='''GetReservationInfo'''==
==GetReservationInfo==


Функція GetReservationInfo повертає інформацію щодо створеного бронювання, дані повертаються тільки для підтверджених бронювань. Додатково додано відображення даних за заброньованими заходами в разі якщо Л/Рахунок має префікс A і групи префікс G
Функція GetReservationInfo повертає інформацію щодо створеного бронювання, дані повертаються тільки для підтверджених бронювань. Додатково додано відображення даних за заброньованими заходами в разі якщо Л/Рахунок має префікс A і групи префікс G
Рядок 569: Рядок 572:
                     b. Days - int, кількість днів.
                     b. Days - int, кількість днів.
                     c. CancelationDate - string, необов'язкове поле, дата ануляції броні (н/р: "2021-04-12 18:13:50 +03:00")
                     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, номер кімнати