Code snippets
Default initialisatie van de booking widget:
<script src="https://lib.hmcms.nl/js/2/ha/booking/hmapi.js"></script>
<script>
hmapi.booking.init().then(function(widget){
var $ = jQuery;
// Hier komen de mogelijke uitbreidingen (bv: via triggers)
});
</script>
Uitbreidingen zullen eigenlijk altijd in de ‘callback’ functie van de ‘hmapi.booking.init()’ functie komen te staan. Op dit moment weet je dan ook zeker dat jQuery en de booking-widget Javascript bestanden geladen zijn.
Searcher
Widget trigger voorbeelden:
after-search, nadat een zoekopdracht is uitgevoerd
widget.on('booking:searcher:after-search', function(event, searchParams) {
var $widget = $(this), // current `booking-widget`
$searcher = $widget.find('booking-widget-searcher'); // current `booking-searcher-widget`
/* example:
console.log(searchParams);
*/
});
find, wanneer er op de 'zoeken' knop geklikt wordt
widget.on('booking:searcher:find', function(event, searchParams) {
var $widget = $(this), // current `booking-widget`
$searcher = $widget.find('booking-widget-searcher'); // current `booking-searcher-widget`
/* example:
console.log(searchParams);
*/
});
Reservation
3rd party conversion codes
Wanneer er na een succesvolle reservering een 3rd party conversie script aangeroepen moet worden, kan dat via de volgende trigger.
// Reservation is success
widget.on('booking:reservation:success', function() {
// use object 'params', with registration @3rd party conversions
var params = widget.getData('reservation');
/* example:
console.log(params); // this will display:
params.page = 4; // step 4 in booking
params.booking = {
amount: [value], // amount
object: [value], // object
oid: [value], // object ID
type: [value], // objecttype
reservation: [value] // reservation
};
*/
});