T: відмінності між версіями
Немає опису редагування |
Немає опису редагування |
||
Рядок 186: | Рядок 186: | ||
} | } | ||
</pre> | |||
==UpdateRooms== | |||
'''Вхідні параметри:''' | |||
<pre> | |||
{ | |||
"Credentials": { | |||
"UserName": "UserName", | |||
"Password": "User Password" | |||
}, | |||
"Hotels": [ | |||
{ | |||
"HotelInformation": { | |||
"HotelID": 1, | |||
"HotelName": "Name", | |||
"HotelShortName": "ShortName" | |||
}, | |||
"Rooms": [ | |||
{ | |||
"Room": { | |||
"RoomId": 1, | |||
// код прибирання | |||
"CleanStatus": "clean", | |||
// код статусу продажу (sale, repair, repair not sale) | |||
"SaleStatus": "repair" | |||
} | |||
} | |||
] | |||
} | |||
] | |||
} | |||
</pre> | |||
'''Значення, що повертається:''' | |||
<pre> | |||
{ | |||
"VersionInfo": "0.1", | |||
// час, коли почали формувати відповідь на сервері у UTC (мілісекунди) | |||
"RequestTime": "123423234", | |||
// код помилки, 0 – помилок немає | |||
"ErrorCode": "0", | |||
"ErrorText": "" | |||
} | |||
</pre> | |||
==GetCustomerPayments== | |||
'''Вхідні параметри:''' | |||
<pre> | |||
{ | |||
"Credentials": { | |||
"UserName": "UserName", | |||
"Password": "User Password" | |||
}, | |||
// 0 – всі доступні готелі | |||
"Hotels": [1, 2, ...], | |||
// масив з типом і кодом, кому надавалась послуга | |||
"Customers": [ | |||
{ | |||
"CustomerId": 1, | |||
// тип контрагента (1 – гість, 2 – група, 3 – компанія, 4 – захід, 5 – цільовий рахунок) | |||
"CustomerType": 1 | |||
} | |||
], | |||
// масив ідентифікаторів послуг (serviceid) для фільтру | |||
"Services": [1, 2, ...], | |||
// масив літерних кодів класів послуг для фільтру | |||
"ServiceClasses": [""], | |||
// масив літерних кодів підкласів послуг для фільтру | |||
"ServiceSubClasses": [""], | |||
// включати анульовані нарахування (за замовчуванням ні) | |||
"IncludeCanceled": "0", | |||
// дати періоду надання послуг, якщо якась дата не вказана — період відкритий | |||
"ConsumptionDateStart": "2020-01-01 14:00:00", | |||
"ConsumptionDateEnd": "2020-01-02 12:00:00", | |||
// початкова дата, з якої нарахування були змінені | |||
"ModifiedPaymentsFrom": "2020-01-01 14:00:00", | |||
// кінцева дата, до якої нарахування були змінені | |||
"ModifiedPaymentsTo": "2020-01-02 12:00:00", | |||
// типи номенклатури послуг | |||
"NomenclatureTypes": [0, 1] | |||
} | |||
</pre> | |||
'''Значення, що повертається:''' | |||
<pre> | |||
{ | |||
"Hotels": [ | |||
{ | |||
"HotelInformation": { | |||
"HotelID": 1, | |||
"HotelName": "Name", | |||
"HotelShortName": "ShortName" | |||
}, | |||
// список контрагентів, хто користується послугою | |||
"Customers": [ | |||
{ | |||
"CustomerID": 1, | |||
// тип контрагента (1 – гість, 2 – група, 3 – компанія, 4 – захід, 5 – цільовий рахунок) | |||
"CustomerType": 1, | |||
"CustomerName": "Василь Сухопаров", | |||
"ArrivalDate": "2013-06-07 08:54:00", | |||
"BookingSource": "Реклама", | |||
"CompanyOperatorID": null, | |||
"Consumer": "F0000029177", | |||
"ConsumerID": 29177, | |||
"ConsumerTypeID": 1, | |||
"CountryISO3": "UKR", | |||
"CountryName": "Україна", | |||
"DepartureDate": "2017-01-26 12:00:00", | |||
"Name": "Чуж Іннокентій Сидорович", | |||
"PriceListName": "Peggy", | |||
"RoomNumber": "23", | |||
"RoomTypeName": "Стандарт", | |||
"RoomTypeID": 1, | |||
"HousingName": "Корпус 1", | |||
"HousingID": 1, | |||
"Payments": [ | |||
{ | |||
"PaymentID": 1, | |||
"PaymentType": 1, | |||
"ServiceID": 1, | |||
"ServiceClassName": "", | |||
"ServiceClassCode": "", | |||
"ServiceSubClassName": "", | |||
"ServiceSubClassCode": "", | |||
"ConsumptionDate": "2017-11-09 08:11:33", | |||
// статус оплати (0 – не оплачено, 1 – оплачено, 2 – частково оплачено) | |||
"NomenclatureTypes": 0, | |||
"NomenclatureTypeName": "Продукт", | |||
"PaymentStatus": 0, | |||
"PayAmount": "100.00", | |||
"PayAmountValuteISO": "RUB", | |||
"Quantity": "1.000", | |||
"Price": "10.00", | |||
"UsedQuantity": "1.000", | |||
"PriceValuteISO": "RUB", | |||
"IsPackagePayment": true, | |||
"TaxName": "", | |||
"TaxSum": "", | |||
"TaxRate": "", | |||
"TaxName2": "", | |||
"TaxSum2": "", | |||
"TaxRate2": "", | |||
"RestaurantReceipt": 1, | |||
"RestaurantBill": "", | |||
"ReceiptPayTypeID": 1, | |||
"ReceiptPayTypeName": "Карта", | |||
"IsReturned": false, | |||
"LastReceiptDate": "2013-06-07 08:54:00", | |||
"LastReceiptID": 1, | |||
"LastReceiptBillID": 1, | |||
"IsCanceled": false, | |||
"PackagePayments": [ | |||
{ | |||
"PackagePaymentID": 1, | |||
"ServiceID": 1, | |||
"ServiceName": "", | |||
"ServiceClassName": "", | |||
"ServiceClassCode": "", | |||
"ServiceSubClassName": "", | |||
"ServiceSubClassCode": "", | |||
"Quantity": "1.000", | |||
"UsedQuantity": "1.000", | |||
"Price": "10.00", | |||
"PeriodDateFrom": "2017-11-08 08:00:00", | |||
"PeriodDateTo": "2017-11-10 10:00:00" | |||
} | |||
] | |||
} | |||
] | |||
} | |||
] | |||
} | |||
] | |||
} | |||
</pre> | </pre> |
Версія за 08:02, 21 травня 2025
Формат запитів 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# } ] // Гості ] // Готелі }
GetClientsModified
Вхідні параметри:
{ "Credentials": { "UserName": "UserName", "Password": "User Password" }, // 0 – всі доступні готелі "Hotels": [1, 2, ...], // Дата з часом у UTC, показувати анкети, зміни у яких сталися після вказаного часу. "ModifiedDateFrom": "", // необов’язковий фільтр за ідентифікаторами клієнтів "ClientsID": [1, ...], // фільтри для анкет "Phones": [""], "Emails": [""], "FirstName": "", "LastName": "", "MiddleName": "", // серія та номер документа без роздільників "DocumentSeriesAndNumber": "", // ІПН документа "DocumentIIN": "", "Sex": true, // true - чоловічий, false - жіночий "BirthDay": "1982-08-01", // Вподобання "Preferences": [ { "Code": "carnumber", "Value": "333-44-55" } ], // Комплексний пошук по конкретних полях "ComplexSearch": { "SearchString": "+380991112233", "SearchObjects": ["LastName", "FirstName", "MiddleName", "Phone", "Email", "AccountNumber"] } }
Значення, що повертається:
{ "VersionInfo": "0.1", //время когда начали формировать ответ на сервере в UTC "RequestTime": "", //Код ошибки, 0 – нет ошибок "ErrorCode": "0", "ErrorText": "", "Clients": [ "Client": { "ClientID": "1", "FirsName": "", "MiddleName": "", "LastName": "", "BirthDay": "", "Email":"guest@gmail.com", "Phone":"+79997776655", "Comment":"Like smoking", "GuestsID":[1,2], "Documents": [ "PersonDocument": { "DocumentType": , "DocumentNumber": , "DocumentSeries": , "DocumentDateIssue": "", "DocumentDateEnd": "", "IIN": "", } ] } ]// Clients }
UpdateRooms
Вхідні параметри:
{ "Credentials": { "UserName": "UserName", "Password": "User Password" }, "Hotels": [ { "HotelInformation": { "HotelID": 1, "HotelName": "Name", "HotelShortName": "ShortName" }, "Rooms": [ { "Room": { "RoomId": 1, // код прибирання "CleanStatus": "clean", // код статусу продажу (sale, repair, repair not sale) "SaleStatus": "repair" } } ] } ] }
Значення, що повертається:
{ "VersionInfo": "0.1", // час, коли почали формувати відповідь на сервері у UTC (мілісекунди) "RequestTime": "123423234", // код помилки, 0 – помилок немає "ErrorCode": "0", "ErrorText": "" }
GetCustomerPayments
Вхідні параметри:
{ "Credentials": { "UserName": "UserName", "Password": "User Password" }, // 0 – всі доступні готелі "Hotels": [1, 2, ...], // масив з типом і кодом, кому надавалась послуга "Customers": [ { "CustomerId": 1, // тип контрагента (1 – гість, 2 – група, 3 – компанія, 4 – захід, 5 – цільовий рахунок) "CustomerType": 1 } ], // масив ідентифікаторів послуг (serviceid) для фільтру "Services": [1, 2, ...], // масив літерних кодів класів послуг для фільтру "ServiceClasses": [""], // масив літерних кодів підкласів послуг для фільтру "ServiceSubClasses": [""], // включати анульовані нарахування (за замовчуванням ні) "IncludeCanceled": "0", // дати періоду надання послуг, якщо якась дата не вказана — період відкритий "ConsumptionDateStart": "2020-01-01 14:00:00", "ConsumptionDateEnd": "2020-01-02 12:00:00", // початкова дата, з якої нарахування були змінені "ModifiedPaymentsFrom": "2020-01-01 14:00:00", // кінцева дата, до якої нарахування були змінені "ModifiedPaymentsTo": "2020-01-02 12:00:00", // типи номенклатури послуг "NomenclatureTypes": [0, 1] }
Значення, що повертається:
{ "Hotels": [ { "HotelInformation": { "HotelID": 1, "HotelName": "Name", "HotelShortName": "ShortName" }, // список контрагентів, хто користується послугою "Customers": [ { "CustomerID": 1, // тип контрагента (1 – гість, 2 – група, 3 – компанія, 4 – захід, 5 – цільовий рахунок) "CustomerType": 1, "CustomerName": "Василь Сухопаров", "ArrivalDate": "2013-06-07 08:54:00", "BookingSource": "Реклама", "CompanyOperatorID": null, "Consumer": "F0000029177", "ConsumerID": 29177, "ConsumerTypeID": 1, "CountryISO3": "UKR", "CountryName": "Україна", "DepartureDate": "2017-01-26 12:00:00", "Name": "Чуж Іннокентій Сидорович", "PriceListName": "Peggy", "RoomNumber": "23", "RoomTypeName": "Стандарт", "RoomTypeID": 1, "HousingName": "Корпус 1", "HousingID": 1, "Payments": [ { "PaymentID": 1, "PaymentType": 1, "ServiceID": 1, "ServiceClassName": "", "ServiceClassCode": "", "ServiceSubClassName": "", "ServiceSubClassCode": "", "ConsumptionDate": "2017-11-09 08:11:33", // статус оплати (0 – не оплачено, 1 – оплачено, 2 – частково оплачено) "NomenclatureTypes": 0, "NomenclatureTypeName": "Продукт", "PaymentStatus": 0, "PayAmount": "100.00", "PayAmountValuteISO": "RUB", "Quantity": "1.000", "Price": "10.00", "UsedQuantity": "1.000", "PriceValuteISO": "RUB", "IsPackagePayment": true, "TaxName": "", "TaxSum": "", "TaxRate": "", "TaxName2": "", "TaxSum2": "", "TaxRate2": "", "RestaurantReceipt": 1, "RestaurantBill": "", "ReceiptPayTypeID": 1, "ReceiptPayTypeName": "Карта", "IsReturned": false, "LastReceiptDate": "2013-06-07 08:54:00", "LastReceiptID": 1, "LastReceiptBillID": 1, "IsCanceled": false, "PackagePayments": [ { "PackagePaymentID": 1, "ServiceID": 1, "ServiceName": "", "ServiceClassName": "", "ServiceClassCode": "", "ServiceSubClassName": "", "ServiceSubClassCode": "", "Quantity": "1.000", "UsedQuantity": "1.000", "Price": "10.00", "PeriodDateFrom": "2017-11-08 08:00:00", "PeriodDateTo": "2017-11-10 10:00:00" } ] } ] } ] } ] }