API Reservation10: відмінності між версіями
Sydo (обговорення | внесок) Немає опису редагування |
|||
Рядок 1: | Рядок 1: | ||
Опис протоколу для інтеграції зовнішнього модуля бронювання з Servio HMS | |||
=Формат запитів JSON= | =Формат запитів JSON= | ||
Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче. | Форматом переданих і прийнятих даних є протокол обміну JSON. Кодування запитів і відповідей UTF8. Приклад запиту і відповіді наведено нижче. |
Поточна версія на 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, номер кімнати