TourCMS, a leading online booking and channel management solution is operated by Palisis.

Contact Info

Palisis AG
Seestrasse 25
8702 Zollikon
support@palisis.com
+41 44 533 40 40

Follow Us

home > support > web design > wordpress plugin > booking integration

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.

Advanced integration

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.

Check availability

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/");


Example:

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"
		}
	]
}


Redirect URL

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.

Need more customisation?

Build your own end to end booking integration using our API. Learn more