# Bookings

Endpoints for creating and managing bookings.

## Create a booking

 - [POST /v2/bookings](https://docs.bemyguest.com.sg/openapi/bookings/createbooking.md): Creates a new booking. 

> Before creating a booking, you should always check the availability and price using the /v2/product-types/{uuid}/price-lists/{date} endpoint. 

The request body must contain all the necessary information for the booking, including customer details and product options.

## Get bookings

 - [GET /v2/bookings](https://docs.bemyguest.com.sg/openapi/bookings/getbookings.md): Retrieves a list of your bookings. You can filter the results by date_start, date_end, guest information (first_name, last_name, email, phone), partner_reference, and status. 

Pagination is also supported.

## Get booking details

 - [GET /v2/bookings/{uuid}](https://docs.bemyguest.com.sg/openapi/bookings/getbookingdetails.md): Retrieves the current status and details of a specific booking using its UUID.

## Confirm or cancel booking

 - [PUT /v2/bookings/{uuid}/{status}](https://docs.bemyguest.com.sg/openapi/bookings/updatebookingstatus.md): Updates the status of a booking to either confirm or cancel. 

- A new booking starts with the reserved status. 
- To confirm the booking and lock the inventory, you must update the status to waiting. 
- Bookings in the waiting status will expire if not actioned within 5 days.
- To cancel a booking, a cancellation request is created and is subject to approval.

## Get vouchers

 - [GET /v2/bookings/{bookingUuid}/vouchers](https://docs.bemyguest.com.sg/openapi/bookings/getvouchers.md): Retrieves the vouchers for a specific booking. 

> Please note that the download links provided require authorization and should not be sent directly to the end customer. You must download the vouchers and distribute them yourself.

