API Reservation10: відмінності між версіями

Матеріал з expertsolution
Перейти до навігації Перейти до пошуку
(Створена сторінка: ='''Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10'''=)
 
Рядок 1: Рядок 1:
='''Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10'''=
=Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10=
=Формат запитів 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 отримує за вхідними параметрами список заявок на бронювання із зазначенням списку послуг і цін на кожен день проживання за кожною заявкою. Далі на сайті цю інформацію обробляють і групують у зручному для користувача вигляді.
 
'''Вхідні параметри:'''

Версія за 11:52, 14 травня 2025

Протокол обміну повідомленнями HMS Reservation Service з PHP клієнтом. Версія 1.10

Формат запитів 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 отримує за вхідними параметрами список заявок на бронювання із зазначенням списку послуг і цін на кожен день проживання за кожною заявкою. Далі на сайті цю інформацію обробляють і групують у зручному для користувача вигляді.

Вхідні параметри: