Inline/Synchronous Booking Notification Webhook (article)

Blanca Castillo
Blanca Castillo
  • Updated

Where do I find it?

CONFIGURATION > SYSTEM & SETUP > Booking Webhooks

d74bfc00-d26e-4385-9ef1-004b4ff534f7.png

 

What does it mean?

In general, webhooks are methods used to send real-time data from one application to another. It enables one system to automatically notify another system when an event occurs, allowing for immediate updates and actions without the need for constant polling or manual intervention.

TourCMS Inline booking notification webhooks are a variant on our standard booking notification webhook with the following distinctions:

  • Allow you to provide TourCMS with extra information related to a booking
    Your response to the inline webhooks can return subsystem booking references / tickets information for use on vouchers, and also in some cases indicate how long you will hold seats/availability on a booking booking for.
  • Run "inline" during the TourCMS standard process rather than being sent after the fact
    This allows TourCMS to collect the extra information. However, it also causes additional traffic and requires faster response times from your subsystem. If your subsystem is unavailable or throws an error, bookings will fail, causing a poor user experience.
  • TourCMS standard webhooks can wait for longer, retry in case of error, and shield your subsystem from load

Only support bookings made via the API
The inline webhooks are not sent for bookings made by the standard hosted TourCMS booking engine or back office, only bookings made via API (Palisis website, OTA bookings, ) are supported.

 

Flow

TourCMS API features a two-step booking process.

  • Start New Booking - Creates the booking details in TourCMS as a temporary booking, holding stock. A temporary booking is expected always to commit (see next step) but can just as easily be deleted by the implementer. During this step TourCMS will send you a "new_temporary_web" or "new_temporary_staff" webhook, you can then hold the stock in your subsystem and return any important references and if you have a limited hold period, the number of seconds you will hold for.
  • Commit Booking - Turns the temporary booking created in the previous step into a fully committed booking. This step is not expected to fail. Confirmation emails are sent once a booking is committed, vouchers can be viewed/printed, etc. A committed booking can no longer be deleted; it can only be cancelled. During this step, if the booking is confirmed (i.e. made by a Trusted Travel Agent / OTA) TourCMS will send you a "new_confirmed_web" or "new_confirmed_staff" webhook, you can also return any important references and ticket ids for display on vouchers.
    If a temporary booking is deleted before the hold time expires, TourCMS will send you a "temporary_booking_deleted" webhook.

If there is an inline webhook, when TourCMS receives a booking request from an OTA or other API consumer, it will check with the webhook before responding. It supports the booking process (i.e., create booking) events only. You can have a maximum of one inline webhook per booking and, thus, a maximum of one per TourCMS channel.

 

Triggers

One of the following events:

  • new_temporary_staff - A new "Temporary/Hold" booking made by staff
  • new_temporary_web - A new "Temporary/Hold" booking created via API
  • new_confirmed_staff - A new "Confirmed" status booking made by staff
  • new_confirmed_web - A new "Confirmed" status booking, made via the booking engine / API
  • deleted_temporary_booking - An API implementer deleted a booking before the hold time rather than committing

Please note any events not listed here, such as cancellations, redemptions, payments, etc, are not sent as inline synchronous (POST) webhooks and will instead be sent via TourCMS standard asynchronous (GET) webhooks.

For more information, please visit this article about the asynchronous booking notification webhook.

 

What should I do?

To create a new webhook go to Configuration > System & Setup > Booking Webhooks, then click on the “Create new booking webhook” button.

111be00a-a219-43a8-9873-acf4000d0ec7.png

Then, select the synchronous (inline) webhook:

09b76003-570d-45ae-a174-bfc68812bcec.png

Following that, you should provide a name and the URL for your webhook:

8e683b49-9263-4cc7-8fe9-724c681051dc.png

Please note that it’s not possible to edit the events:

1e1af700-f55f-4121-974d-14cbc17ad86b.png

The next step would be to select the channels (all or some selected channels):

f80333c6-6481-4544-b0fa-6ca1ee89f7ed.png

Next, choose the tours for which you want to activate the inline webhook.

669acdc1-48cb-4959-a539-d5c5a283962f.png

Finally, select the box labelled "Send webhook when TourCMS automatically deletes expired temporary bookings" if your subsystem cannot delete bookings after their expiration time, typically 45 minutes.

8ac272dd-2857-40a3-8723-90de8599c809.png

More information

Here you can find more information and also some example responses.