home > support > web design > wordpress plugin > booking integration
For the simplest integration, add a "Book now" type button to your page linking off to the standard TourCMS booking engine.
The booking link for a given tour is stored in the WordPress Plugin in the tourcms_wp_book_url post meta and can also be accessed via the tourcms_wp_book_url template hook.
Alternatively follow the "Advanced integration" guide below to build your own replacement for the first step of the booking process, allowing date, rate & departure selection in your page, before handing off to the booking engine to complete the booking.
Use tourcms_wp_dates to display a datepicker, tourcms_wp_rates to display a rate selection, then once the customer has made a choice call the Check Availability endpoint detailed below to check live availability and get a price.
A wrapper around TourCMS Check Availability endpoint.
Make a GET request to wp-json/tourcms-tour-operator-plugin/v1/availability/ passing a tour id (id), along with the customer's selected date and rates / quantities to check live availability in TourCMS.
Use get_site_url to get the full url to the page.
$url = get_site_url(null, "/wp-json/tourcms-tour-operator-plugin/v1/availability/");
wp-json/tourcms-tour-operator-plugin/v1/availability/?date=2021-10-01&id=1&r1=2
{
"availability": [{
"total_price": "120.00",
"total_price_display": "£120.00",
"component_key": "ABC123",
"note": "English language",
"date_code": "08:00-17:00"
},
{
"total_price": "140.00",
"total_price_display": "£140.00",
"component_key": "ABC123",
"note": "German language",
"date_code": "08:00-17:00"
}
]
}
Once you have a component_key pass that along with a total_customers (often just add up the total count of all rates, e.g. 2 adults 1 child send 3 total_customers) to the redirect URL. The customer will skip the first step of the booking engine and head straight to entering their details and payment.
wp-json/tourcms-tour-operator-plugin/v1/book/?component_key=rBf%2BwGKN4gdtkbB8o%2FBxjWrlHnwg4Ku%2F8SF3Bp%2FwUc6kgCsUAbrdap%2F7CTxDKl%2Bp&total_customers=2
Use get_site_url to get the full url to the page.
$url = get_site_url(null, "/wp-json/tourcms-tour-operator-plugin/v1/book/");
Redirect the customer, perhaps using a GET form or use JavaScript to build the URL then use window.location.
Build your own end to end booking integration using our API. Learn more