API Reservation10
Формат запитів 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"), якщо час виїзду не вказано, передавати порожній рядок, у такому разі час виїзду буде проставлятися в автоматичному режимі.
Значення, що повертається:
Повертається 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 отримує за вхідними параметрами список заявок на бронювання із зазначенням списку послуг і цін на кожен день проживання за кожною заявкою. Далі на сайті цю інформацію обробляють і групують у зручному для користувача вигляді.
Вхідні параметри: