Difference between revisions of "Connect PMS with API"

From Beds24 Wiki
Jump to navigation Jump to search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:API]]
 
[[Category:API]]
 
+
<div class="heading">API: Connect PMS or OTA</div>
<div class="heading">API: Connect PMS</div>
+
  This page explains how to connect a PMS or OTA to the Beds24 API for Channel Management
  This page explains how to connect a PMS to the Beds24 API for Channel Management
 
 
__Toc__
 
__Toc__
 
== Introduction ==
 
== Introduction ==
Line 17: Line 16:
  
 
== API setup ==
 
== API setup ==
 
 
Create an API Key for your Beds24 account at Settings  >  Account  > Account Access  
 
Create an API Key for your Beds24 account at Settings  >  Account  > Account Access  
  
Line 27: Line 25:
  
 
The JSON API functions are recommended https://api.beds24.com
 
The JSON API functions are recommended https://api.beds24.com
 
  
 
== Create Properties ==
 
== Create Properties ==
 
 
Use JSON createProperties to create properties and their rooms via API.
 
Use JSON createProperties to create properties and their rooms via API.
  
Line 38: Line 34:
  
 
Descriptive content can optionally be added to a property and it's rooms with JSON setPropertyContent
 
Descriptive content can optionally be added to a property and it's rooms with JSON setPropertyContent
 
  
 
== Setup Price and Channel Mapping ==
 
== Setup Price and Channel Mapping ==
 
 
Prices are defined in up to 16 daily price rows per room type.
 
Prices are defined in up to 16 daily price rows per room type.
  
Line 50: Line 44:
 
Use JSON setDailyPriceSetup to create the daily price rows and map them to channels, including any rate codes.
 
Use JSON setDailyPriceSetup to create the daily price rows and map them to channels, including any rate codes.
  
 +
We recommend using only daily prices instead of rates for this type of connection and for simplicity not using both daily prices and rates.
  
 
== Send Price and Availability ==
 
== Send Price and Availability ==
 
 
Price and availability can be set per room type with JSON setRoomDates
 
Price and availability can be set per room type with JSON setRoomDates
  
 
For each date, up to 16 prices, the number of rooms available, minimum stay (room level), maximum stay (room level) and check-in check-out restrictions can be sent.
 
For each date, up to 16 prices, the number of rooms available, minimum stay (room level), maximum stay (room level) and check-in check-out restrictions can be sent.
 
  
 
== Bookings ==
 
== Bookings ==
 
 
There is no need to send bookings to Beds24, it is better to manage inventory by setting number of rooms available with JSON setRoomDates
 
There is no need to send bookings to Beds24, it is better to manage inventory by setting number of rooms available with JSON setRoomDates
  
Line 67: Line 59:
  
 
Make sure to adjust your inventory levels to account for the channel booking in Beds24.
 
Make sure to adjust your inventory levels to account for the channel booking in Beds24.
 
  
 
== Booking Notification ==
 
== Booking Notification ==
 
 
When a booking is created, modified or cancelled by a channel, we will send a notification push to a URL specified by you.
 
When a booking is created, modified or cancelled by a channel, we will send a notification push to a URL specified by you.
  
Line 76: Line 66:
  
 
The notify push expects an HTTP 200 response and will retry after a delay if this is not received.
 
The notify push expects an HTTP 200 response and will retry after a delay if this is not received.
 
  
 
== Booking Detail ==
 
== Booking Detail ==
 
 
Booking can be read with JSON getBookings by specifying the booking number from the notify push.
 
Booking can be read with JSON getBookings by specifying the booking number from the notify push.
  
Line 85: Line 73:
  
 
This will allow you to check for any bookings which are new or modified where the notify push was missed.
 
This will allow you to check for any bookings which are new or modified where the notify push was missed.
 
  
 
== Booking Modification ==
 
== Booking Modification ==
 
 
If a booking is modified by a channel, you will receive a notify push and you can read the new booking detail.
 
If a booking is modified by a channel, you will receive a notify push and you can read the new booking detail.
  
 
It is up to your system to compare the new booking detail with the original and determine what actually changed.
 
It is up to your system to compare the new booking detail with the original and determine what actually changed.
  
 +
==Retrieve Content==
 +
Use JSON getProperties to retrieve properties and their rooms via API.
  
== Questionnaire ==
 
 
So we can best support you and if desired promote your system, please send us the answer to these questions.
 
 
1) What is your Beds24 account number?
 
 
2) What is the name of your system?
 
 
3) Main contact person at your system for technical issues?
 
 
4) Number of properties you intend to connect?
 
 
5) Names of the API functions you are using and estimated number of unique calls per hour?
 
  
6) Do you want to be listed as a Beds24 partner and promoted by us?
+
== OTA channel ==
 +
The OTA channel can be used to connect an OTA to Beds24.
 +
It functions like any other OTA connected to the Beds24 channel manager.
 +
The OTA API functions can be used by the OTA system to read prices and availability assigned to the OTA channel from Beds24 and to push bookings back into the rooms in Beds24.
  
7) Unique function or selling point to promote your system?
+
https://wiki.beds24.com/index.php/OTA

Latest revision as of 10:20, 12 November 2021

API: Connect PMS or OTA
This page explains how to connect a PMS or OTA to the Beds24 API for Channel Management

1 Introduction

To better understand the operation of Beds24 it is good to start by setting up a test property including prices and other data you will be using manually in the Beds24 control panel.

Then to understand the API and it's functions and fields, read the test property data using the various JSON functions to learn which data is available via API.

Once you understand the data format there are corresponding functions to write the JSON data back to Beds24.

The write data format is usually the same as the data read.

See the notes at each endpoint for more information.

2 API setup

Create an API Key for your Beds24 account at Settings > Account > Account Access

For extra security also whitelabel your IP address to prevent access from unauthorized IP addresses.

Access to most API functions will require the API Key and the PROP Key for the property being accessed.

There are usage limits on the API so design your system to avoid unnecessary and minimize the frequency of API calls.

The JSON API functions are recommended https://api.beds24.com

3 Create Properties

Use JSON createProperties to create properties and their rooms via API.

Set a PROP Key for the property when creating it so it can be accessed later via API.

Once created, the property and it's rooms can be modified with JSON modifyProperty

Descriptive content can optionally be added to a property and it's rooms with JSON setPropertyContent

4 Setup Price and Channel Mapping

Prices are defined in up to 16 daily price rows per room type.

Each row can be defined with an occupancy and minimum stay and sent to any combination of channels.

This means for 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.

We recommend using only daily prices instead of rates for this type of connection and for simplicity not using both daily prices and rates.

5 Send Price and Availability

Price and availability can be set per room type with JSON setRoomDates

For each date, up to 16 prices, the number of rooms available, minimum stay (room level), maximum stay (room level) and check-in check-out restrictions can be sent.

6 Bookings

There is no need to send bookings to Beds24, it is better to manage inventory by setting number of rooms available with JSON setRoomDates

Bookings from channels will import into Beds24 and automatically reduce the available inventory.

The Bookings should be left in Beds24 so modification/cancellation can be accepted.

Make sure to adjust your inventory levels to account for the channel booking in Beds24.

7 Booking Notification

When a booking is created, modified or cancelled by a channel, we will send a notification push to a URL specified by you.

The notify push will contain the booking number of the affected booking, you can use this to read the full details of the booking.

The notify push expects an HTTP 200 response and will retry after a delay if this is not received.

8 Booking Detail

Booking can be read with JSON getBookings by specifying the booking number from the notify push.

We recommend periodically polling JSON getBookings (circa once per 30 minutes should be adequate) specifying the modifiedSince time as the time a few seconds before your last poll.

This will allow you to check for any bookings which are new or modified where the notify push was missed.

9 Booking Modification

If a booking is modified by a channel, you will receive a notify push and you can read the new booking detail.

It is up to your system to compare the new booking detail with the original and determine what actually changed.

10 Retrieve Content

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


11 OTA channel

The OTA channel can be used to connect an OTA to Beds24. It functions like any other OTA connected to the Beds24 channel manager. The OTA API functions can be used by the OTA system to read prices and availability assigned to the OTA channel from Beds24 and to push bookings back into the rooms in Beds24.

https://wiki.beds24.com/index.php/OTA