Можно произвести выселение всего номера, конкретного гостя или группы гостей.
Параметры запроса логически складываются - принцип фильтра. Так, например, вы можете выселить конкретного гостя из конкретного номера, передав параметры room и guestID. Выселение будет произведено по совпадению пары, другие гости останутся в комнате.
POST /api/CheckOut HTTP/1.1
Content-Type: application/json
API-KEY: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 284
{
"checkoutlist": [
{
"room": "101" //Комната
,"guestID": "567897" //Идентификатор гостя
,"guestGroupID": "123456654321" //Группа гостей
},
{
"room": "108"
,"GuestID": "567896"
,"guestGroupID": "12345"
}
]
}
| Параметр | Тип | Значение |
|---|---|---|
| checkoutlist | array | Структура, содержащая фильтр гостей, которых необходимо выселить. |
| checkoutlist:room | string | Комната, из которой необходимо произвести выселение гостя. |
| checkoutlist:guestID | string |
Идентификатор гостя, которого необходимо выселить. Идентификатор гостя изначально передается в TurnIP во время поселения гостя командой CheckIn, параметром rooms:guests:guestID
|
| checkoutlist:guestGroupID | stringr |
Идентификатор группы, гостей которой необходимо выселить. Идентификатор группы гостя изначально передается в TurnIP во время поселения гостя командой CheckIn, параметром rooms:guests:guestGroupID
|
room, guestID или guestGroupID. Вызов без параметров не приведет к ошибке, но и не произведет никаких действий.400 Bad Request {"number":12,"message":"Room XXX not found."guestID или guestGroupID.guestGroupID или параметр guestGroupID вообще не передан при поселении - гость без группы). После этого производится выселение группы гостей, когда команда CheckOut вызывается с единственным параметром guestGroupID. Поскольку из комнаты 101 выселен главный гость, определенный при заезде группы, оставшийся в комнате гость будет назначен главным для ее.200 OK в случае успешного выполнения операции либо код 400 Bad Request с описанием ошибки в body в формате {"number":nn,"message":"Error Description."}
Обращаем внимание, что параметры команды работают по принципу фильтра. Вызов команды без параметров вернет 200 OK, при этом команда не выполнит никаких действий.
В случае некритических исключений, команда так же вернет 200 OK с описанием этих исключений.
400 Bad Request| Number | Message | Описание |
|---|---|---|
| 12 | Room XXX not found. |
В параметре room передан несуществующий в системе TurnIP номер комнаты.
|
200 OK| Number | Room | guestID | guestGroupID | Message | Описание |
|---|---|---|---|---|---|
| 102 | XXX | не передается | не передается | There are no stays available for CheckOut. | После применения фильтра, нет гостей для выселения из комнаты XXX. |
| 103 | XXX | yyyyyy | не передается | Сheck outed guest is the main guest in the room. Another guest is appointed as the main guest | Произведено выселение гостя с идентификатором yyyyyy, который являлся главным гостем в комнате XXX. Система произвольно назначила нового главного гостя в комнате XXX. |
| 104 | не передается | yyyyyy | не передается | GuestID not found. | Гость с идентификатором yyyyyy, не найден в системе TurnIP. |
| 105 | не передается | не передается | zzzzzz | GuestGroupID not found. | Группа гостей с идентификатором zzzzzz, не найдена в системе TurnIP. |
{
"checkoutlist": [
{
"room": "101"
}
]
}
{
"checkoutlist": [
{
"guestGroupID": "12345"
}
]
}
{
"checkoutlist": [
{
"room": "101",
"GuestID": "567896"
},
{
"room": "102"
},
{
"GuestID": "567897"
}
]
}