Link

Pre-stay

This is the phase where Caroline receives a reservation confirmation, time passes, and she can’t wait to get to the hotel and check-in. You can search for the reservations with parameters arrival and departure dates to see the arrivals for any period.

Get the email address - you might want to check Caroline’s email address so that you can send her welcome email or send any information. Sending targeted pre-arrival messages allows you to promote deals that will make guest’s stay more fun, memorable, relaxing or hassle-free.

GET /booking/v1/reservations/{id}?expand=booker

Example

{
    "id":"KPVHIMSF-1",
    "bookingId":"KPVHIMSF",
    "status":"NoShow",
    "noShowTime":"2020-04-10T03:01:24+02:00",
    "unit":{
        "id":"BER-ULN",
        "name":"G.019",
        "description":"Ground Floor Room 19",
        "unitGroupId":"BER-DBL"
    },
    "property":{
        "id":"BER",
        "code":"BER",
        "name":"Hotel Berlin",
        "description":"Explore the important places of recent history or simply enjoy the view over the rooftops of Berlin Mitte on our roof terrace."
    },
    "ratePlan":{
        "id":"BER-IBRKF-DBL",
        "code":"IBRKF",
        "name":"Include breakfast",
        "description":"A rate for double rooms with breakfast included.",
        "isSubjectToCityTax":true
    },
    "unitGroup":{
        "id":"BER-DBL",
        "code":"DBL",
        "name":"Double",
        "description":"Big room with balcony, whirlpool and a kingsize bed."
    },
    "totalGrossAmount":{
        "amount":115,
        "currency":"EUR"
    },
    "arrival":"2020-04-09T17:00:00+02:00",
    "departure":"2020-04-10T10:00:00+02:00",
    "created":"2020-04-08T21:54:48+02:00",
    "modified":"2020-04-10T03:01:24+02:00",
    "adults":2,
    "channelCode":"Direct",
    "primaryGuest":{
        "firstName":"Merlin",
        "middleInitial":"M",
        "lastName":"Co",
        "email":"daisy01.sunshine01+merlin.co@gmail.com",
        "phone":"+4989123343",
        "address":{
            "addressLine1":"Leopoldstraße 8-10",
            "postalCode":"80802",
            "city":"München",
            "countryCode":"DE"
        }
    },
    "booker":{
        "firstName":"Merlin",
        "middleInitial":"M",
        "lastName":"Co",
        "email":"daisy01.sunshine01+merlin.co@gmail.com",
        "phone":"+4989123343",
        "address":{
            "addressLine1":"Leopoldstraße 8-10",
            "postalCode":"80802",
            "city":"München",
            "countryCode":"DE"
        }
    },
    ...................
    }
}

You can choose who you want to send the email to the booker or the guest. From the response, take primaryGuest.email or booker.email.

Update guest information - this is for registration forms and statistics. First get the reservation, to fill the data entry form, and then pass the changed data to

PATCH /booking/v1/reservations/{id}

Assign a random room - have to sleep somewhere, right? You best first check if a room is already assigned. Hotels don’t always (never) appreciate it if you mess with their room assignment.

GET /booking/v1/reservations/{id}?expand=timeslices

Careful here, you will see a unit on the top level of the response, but you might want to check in the time slices also to see room moves. Otherwise, you’ll get the first room (pre-stay), the current room (stay), or the last room (post-stay). When you don’t see anything, call this to assign a random unit:

PUT /booking/v1/reservation-actions/{id}/assign-unit

Let the guest pick a room - room with a view? Next to the elevator or far away? The guest’s favourite number is 5? Display all available rooms and their attributes:

GET /booking/v1/available-units

… and then enrich the results with the unit attributes you get for one unit:

GET /inventory/v1/units/{id}

The last thing to do, set the chosen room on the reservation:

PUT /booking/v1/reservation-actions/{id}/assign-unit/{unitId}

Remote check-in - well, yeah.

PUT /booking/v1/reservation-actions/checkin