While TourCMS/Palisis devices offer fairly agnostic barcode symbology scanning we would strongly suggest using QR Code barodes where possible. Their built in fault tolerance helps when scanning hastily printed crumpled pieces of paper, combined with their ease of scanning with modern mobile devices makes them a good choice generally and this is the barcode symbology used by default in TourCMS system and displayed on TourCMS standard vouchers.
Some supplier subsystems are unable to scan QR codes. In such cases the response to Commit Booking / Show Booking will indicate a different barcode_symbology should be used, currently the only alternative is CODE_128.
If you would like to give your customer a simple voucher that they can either show on their mobile device or print and bring along we would suggest sending them TourCMS standard voucher. A link to the standard voucher for a given booking can be obtained via our booking APIs, or included in TourCMS standard email templates.
If you have specific tickets or references need to be placed on your vouchers, such as ticket generated by your own or a supplier's subsystem please do reach out to our support team who can explain the options available.
When you book with TourCMS send the booking reference from your system as the <agent_ref>, place this same reference somewhere clearly on your voucher, along with a barcode containing that value.
Increasingly however, operators are providing their own references and tickets. Where provided by the operator TourCMS will return these in our booking API endpoints to you, and you should display them on your vouchers.
The most important of these are per-ticket references. When you book with TourCMS each line item is converted into one or more "components" on the booking. For example a booking on "Tour A" for 2 Adults, 1 Child would yield two "components", one for 2 Adults, another for 1 Child. Total 3 tickets. If the operator provides tickets we will return those from our API as a list of ticket nodes with a tickets node on each component. 3 total ticket nodes.
Additionally operators can provide per-booking/component references. Where provided by the operator these are returned as an operator_reference against each component on a booking. While these references are returned against each component, in many cases we would expect the references on all of the components to be the same. Where they might vary is if you are booking multiple different tours on one booking in TourCMS, as it is possible for supplier subsystems to take each tour as a separate booking.
If you have your own per-ticket references/barcodes you are providing customers you can send them to us as a JSON array in our <agent_ref_components> field, however this is not supported by all third party supplier subsystems may limit which suppliers can scan your vouchers.
We would always recommend sending us your systems booking reference as agent_ref and placing that clearly on your communication with the customer. Additionally where tickets are provided by TourCMS those should be displayed, there will be one per quantity booked.
If you have space, or if tickets are not provided by the operator please display the component level operator_reference where available, falling back to the TourCMS booking_id.