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"
}
]
}
]
}
]
}
]
}