> For the complete documentation index, see [llms.txt](https://glu.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://glu.gitbook.io/docs/use-cases/add-an-activity-to-a-contact/add-a-room-reservation.md).

# Add a room reservation

#### Register the booking to the contact

For hotel or venue integrations, include the embedded [booking](/docs/api-reference/organisation-api/booking.md#get-bookings-id). As soon as the booking exists you should attach it to the contact as an activity.

`POST /activities`

{% code title="" lineNumbers="true" expandable="true" %}

```json
{
  "contact": 1042,
  "type": "Booking",
  "source": "pms",
  "happenedAt": "2026-04-07T10:00:00+00:00",
  "externalReference": "RES-2026-04-1234",
  "booking": {
    "checkIn": "2026-06-15T15:00:00+00:00",
    "checkOut": "2026-06-18T11:00:00+00:00",
    "numberOfGuests": 2,
    "roomType": "Deluxe Double",
    "roomName": "Room 412",
    "total": 45000,
    "currencyCode": "GBP",
    "customerReference": "SMITH-0607",
    "purpose": "Leisure",
    "origin": "Direct"
  }
}
```

{% endcode %}

The booking `total` is also in the smallest currency unit.

View the full [booking](/docs/api-reference/organisation-api/booking.md#get-bookings) object to see what detail can be included.

#### Updating the booking

Bookings will often transition through multiple statuses, once the booking is created as part of the activity it has its own identifier and [can be updated](/docs/api-reference/organisation-api/booking.md#put-bookings-id), you might want to change the following:

* Status
* Total spend
* Room types
