Connect PMS with API

To connect a PMS or OTA to Beds24 for channel management with API V1, you create properties and rooms, map daily price rows to channels, send price and availability per room type with JSON setRoomDates, and read the channel bookings that Beds24 notifies you about.

Warning: API V1 is deprecated. Beds24 recommends API V2 instead.

Contents

Before you start

  1. Set up a test property manually in the Beds24 control panel, including prices and any other data you will use.
  2. Read the test property data with the JSON functions to learn which data is available via API and what its fields are.
  3. Write data back to Beds24 with the corresponding write functions. The write data format is usually the same as the data you read.

See the notes at each endpoint for more information.

API setup

  1. Create an API key for your Beds24 account in Settings > Account > Account Access.
  2. For extra security, whitelist your IP address to prevent access from unauthorised IP addresses.
  • Most API functions need the API key and the prop key of the property you access.
  • The API has usage limits. Design your system to avoid unnecessary calls and keep the frequency of calls low.
  • Beds24 recommends the JSON API functions at api.beds24.com.

Create properties

  • Use JSON createProperties to create properties and their rooms. Set a prop key for the property when you create it, so you can access it later via API.
  • Modify the property and its rooms with JSON modifyProperty.
  • Optionally, add descriptive content to a property and its rooms with JSON setPropertyContent.

Set up prices and channel mapping

Prices are defined in up to 16 daily price rows per room type. Each row can have an occupancy and minimum stay and be sent to any combination of channels, so each date can have up to 16 different prices for combinations of occupancy, minimum stay and channel.

Use JSON setDailyPriceSetup to create the daily price rows and map them to channels, including any rate codes. Beds24 recommends using only Daily Prices for this type of connection.

Send price and availability

Set price and availability per room type with JSON setRoomDates. For each date, you can send up to 16 prices, the number of rooms available, minimum stay (room level), maximum stay (room level) and check-in and check-out restrictions.

Bookings

You don't need to send bookings to Beds24. Manage inventory by setting the number of rooms available with JSON setRoomDates.

  • Bookings from channels import into Beds24 and automatically reduce the available inventory.
  • Leave the bookings in Beds24, so modifications and cancellations can be accepted.
  • Adjust your inventory levels to account for the channel booking in Beds24.

Booking notification

When a channel creates, modifies or cancels a booking, Beds24 sends a notification push to a URL you specify. The push contains the booking number of the affected booking, which you can use to read the full booking details. The push expects an HTTP 200 response and retries after a delay if it doesn't get one.

Booking detail

Read the booking with JSON getBookings, specifying the booking number from the notification push.

Tip: Poll JSON getBookings periodically (about once per 30 minutes should be adequate), with modifiedSince set to a few seconds before your last poll. This catches any new or modified bookings whose notification push was missed.

Booking modification

If a channel modifies a booking, you receive a notification push and can read the new booking detail. Your system compares the new booking detail with the original to determine what changed.

Retrieve content

Use JSON getProperties to retrieve properties and their rooms via API.

OTA channel

Use the OTA channel to connect an OTA to Beds24. It works like any other OTA connected to the Beds24 channel manager: the OTA system uses the OTA API functions to read the prices and availability assigned to the OTA channel and to push bookings back into the rooms in Beds24. See OTA.

Related Articles

Was this article helpful?
0 out of 0 found this helpful

How to Contact us :