T
Формат запитів JSON
Формат переданих і прийнятих даних – протокол обміну JSON. Кодування запиту та відповіді UTF8.
Запити повинні містити інформацію про авторизацію, відповіді повинні містити інформацію про версію протоколу, знімок часу в момент відповіді сервера, інформацію про помилку. Приклад запиту та відповіді наведено нижче.
Права доступу розрізняються залежно від пари користувач/пароль, які вводяться в кожному JSON-запиті в розділі «Облікові дані»:
{ "Credentials": { "UserName": "UserName", "Password": "User Password" }, }
Формат даних
- Формат дати/часу: "yyyy-MM-dd HH:mm:ss";
- Формат дати: "yyyy-MM-dd"
- Формат часу: "HH:mm"
- Роздільник типів із плаваючою крапкою(double): "."
Опис функцій спілкування
GetGuestsModified
Отримання інформації про гостей готелю.
Параметри: дані авторизації, готель (декілька?), час оновлення даних (обрізано те, що було раніше, якщо не вказано, то тільки для всіх гостей, що проживають,
або наступне бронювання, або останнє перебування в номері), масив з переборами відображених даних (проживання гостей (за замовчуванням, якщо не вказано), бронювання, виїзду, контактна інформація для гостей)
Вхідні параметри:
{ "Credentials" : { "UserName" : "UserName", "Password" : "User Password" }, // 0 – всі доступні готелі "Hotels" : [1, 2,...], // дата з часом, показувати номери, зміни у яких сталися після вказаного часу. "ModifiedDateFrom" : "2019-11-12 12:33:45", // необов’язковий фільтр за ідентифікаторами гостей "GuestsID" : ["1", .....] , // відповідно заброньовані, що проживають, останній виїхавший по номеру, анульований, незаїзд. "GuestStatus" : [0,2,3,-1,-2], // отримувати вартість гостя, за замовчуванням ні "isNeedCostInfo" : "0", // літерні коди класів послуг, нарахування по яких потрапляють у вартість "ServiceClasses":[""], // літерні коди підкласів послуг, нарахування по яких не потраплятимуть у вартість "ExcludeServiceSubclasses":[""], // виводити дані по анкетах у гостей, за замовчуванням ні "isNeedClientInfo" : "0", // вивантажувати фото клієнта "isNeedClientPhoto" : "0", // виводити дані по документах в анкетах, за замовчуванням ні "isNeedDocumentsInfo" : "0", // ПІБ гостя "GuestName" : "Петров Петро Петрович", // Номер телефону "PhoneNumber" : "0991232233", // Пошта "Mail" : "user@gmail.com", // Ідентифікатор анкети гостя "ClientID" : 654, // Вподобання "Preferences": [ { "Code": "carnumber", "Value": "333-44-55" } ], // Комплексний пошук по конкретних полях "ComplexSearch": { "SearchString": "+380991112233", "SearchObjects": ["GuestName", "Phone", "Email", "RoomNumber", "AccountNumber", "IdentityCard"] } }
Значення, що повертається:
{ "VersionInfo" : "0.1", // час, коли почали формувати відповідь на сервері у UTC (мілісекунди) "RequestTime" : "345356546", // код помилки, 0 – помилок немає "ErrorCode" : "0", "ErrorText" : "" , "Hotels" : [ "HotelInformation" : { "HotelID" : 1, "HotelName" : "Назва", "HotelShortName" : "КороткаНазва" }, "Guests" : [ { "Room" : { "RoomId" : 1, "RoomNumber" : "1001", "Floor" : "10", "RoomType" : { "RoomTypeName" : "", "RoomTypeShortName" : "", "RoomTypeId" : "", "Beds" : "1", "AddBeds" : "0" } }, "Guest" : #GuestInformation# } ] // Гості ] // Готелі }