6  /  12

CheckOut - выезд гостя, комнаты или группы гостей

Описание

Команда производит выселение гостей из комнат.

Можно произвести выселение всего номера, конкретного гостя или группы гостей.

Параметры запроса логически складываются - принцип фильтра. Так, например, вы можете выселить конкретного гостя из конкретного номера, передав параметры room и guestID. Выселение будет произведено по совпадению пары, другие гости останутся в комнате.

При этом, если:
  • Передана только комната, будет выселена комната целиком.
  • Если передан только гость, он будет выселен из всех занимаемых им комнат.
  • Если передана только группа, будут выселены все гости группы из занимаемых ими комнат.

Направление

PMS -> TurnIP

Метод

POST

Запрос


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."
  • При выселении возможна систуация, когда выселяется главный гость из комнаты, но в комнате остаются другие гости. Это не приведет к ошибке, система сама назначит нового главного гостя в системе, уведомив об этом в ответе. Следует обрабатывать такие сообщения, если вы используете механизм основного плательщика в вашей PMS.
    Такая ситуация может возникнуть при использовании параметров guestID или guestGroupID.
    Пример. Выполняется поселение группы гостей, в каждой комнате один гость, автоматически становящийся главным для комнаты, в которую поселен. Далее в одну из комнат, например, в комнату 101 производится подселение гостя, не относящегося к группе (у него другое, отличное от основной группы значение в параметре guestGroupID или параметр guestGroupID вообще не передан при поселении - гость без группы). После этого производится выселение группы гостей, когда команда CheckOut вызывается с единственным параметром guestGroupID. Поскольку из комнаты 101 выселен главный гость, определенный при заезде группы, оставшийся в комнате гость будет назначен главным для ее.

    Подробнее о главном госте в системе см. в разделе документации Заезд гостя.

Ответ

TurnIP возвращает код 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.

Примеры

Выселение всех гостей комнаты 101


{
    "checkoutlist": [
        {
            "room": "101"
        }
    ]
}

Выселение всех гостей группы 12345 из всех занятых этой группой комнат


{
    "checkoutlist": [
        {
            "guestGroupID": "12345" 
        }
    ]
}

Выселение гостя 567896 из номера 101, выселение всего номера 102 и выселение гостя 567897 из всех занимаемых им номеров


{
    "checkoutlist": [
        {
            "room": "101",
            "GuestID": "567896"
        },
        {
            "room": "102"
        },
        {
            "GuestID": "567897"
        }
    ]
}
Нравится0