Template Variables: Difference between revisions

Jump to navigation Jump to search
Lesley (talk | contribs)
 
(337 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Booking Page]]
[[Category:Guest_Management]]
[[Category:Guest_Management]]
[[Category:Messaging]]
[[Category:Messaging]]
Below is a List of '''''Template Variables'''''.
<div class="heading">Template variables</div>
On this page you find a list of template variables and information on how they are used.  


These variables (short codes) will be replaced by the relevant information from each booking. They can be used in every text settings that allows their use . Copy them exactly as shown, including the square brackets and upper case.
These variables (short codes) will be replaced by the relevant information from each booking. They can be used in every text settings that allows their use. Copy them exactly as shown, including the square brackets and upper case.


The date variables can have an optional offset value of a number of days added after a colon, for example '''[FIRSTNIGHT:-3 days]'''
The date variables can have an optional offset value of a number of days added after a colon, for example '''[FIRSTNIGHT:-3 days]'''
Line 14: Line 14:
[PROPERTYNAME] - property name  
[PROPERTYNAME] - property name  


[PROPERTYADDRESS] - property full address  
[PROPERTYADDRESS] - property address  


[PROPERTYCITY] - property city  
[PROPERTYCITY] - property city  
Line 29: Line 29:


[PROPERTYFAX] - property fax  
[PROPERTYFAX] - property fax  
[PROPERTYCONTACTLASTNAME] - property contact last name
[PROPERTYCONTACTFIRSTNAME] - property contact first name


[PROPERTYID] - property id number
[PROPERTYID] - property id number
Line 46: Line 50:
[PROPERTYLOCATIONDESCRIPTION] - property location description  
[PROPERTYLOCATIONDESCRIPTION] - property location description  


[PROPERTYDIRECTIONS] - property directions (Settings > Channel Manager > Property Content)
[PROPERTYLOCATIONDESCRIPTIONBR] - property location description with line break
 
[PROPERTYDIRECTIONS] - property directions from ( {{#fas:cog}}  (SETTINGS) CHANNEL MANNAGER > PROPERTY CONTENT)
[PROPERTYHEADLINE] - property headline
[PROPERTYHEADLINE] - property headline
Line 53: Line 59:
[PROPERTYGENERALPOLICY] - property rental policy  
[PROPERTYGENERALPOLICY] - property rental policy  
[PROPERTYGENERALPOLICYBR] - property rental policy with line break
[PROPERTYLEGALPOLICY] - property rental policy /  obsolete
[PROPERTYLEGALPOLICY] - property rental policy /  obsolete
Line 58: Line 66:
[PROPERTYCANCELPOLICY] - property cancellation policy
[PROPERTYCANCELPOLICY] - property cancellation policy


[PROPERTYHOUSERULES] - property house rules (Settings > Channel Manager > Property Content)
[PROPERTYCANCELPOLICYBR] - property cancellation policy with line breaks
 
[PROPERTYHOUSERULES] - property house rules ({{#fas:cog}}  (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT)
 
[PROPERTYHOUSERULESBR] - property house rules ({{#fas:cog}}  (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT) with line break
 


[PROPERTYTEMPLATE1] - Property Template 1
[PROPERTYTEMPLATE1] - Property Template 1
Line 67: Line 80:


[PROPERTYTEMPLATE4] - Property Template 4
[PROPERTYTEMPLATE4] - Property Template 4
[PROPERTYTEMPLATE5] - Property Template 5
[PROPERTYTEMPLATE5] - Property Template 6
[PROPERTYTEMPLATE7] - Property Template 7
[PROPERTYTEMPLATE8] - Property Template 8
[PROPERTYTEMPLATE1BR] - Property Template 1 with line breaks
[PROPERTYTEMPLATE2BR] - Property Template 2 with line breaks
[PROPERTYTEMPLATE3BR] - Property Template 3 with line breaks
[PROPERTYTEMPLATE4BR] - Property Template 4 with line breaks
[PROPERTYTEMPLATE5BR] - Property Template 5 with line breaks
[PROPERTYTEMPLATE6BR] - Property Template 6 with line breaks
[PROPERTYTEMPLATE7BR] - Property Template 7 with line breaks
[PROPERTYTEMPLATE8BR] - Property Template 8 with line breaks


[BOOKINGCOMHOTELID] - booking.com hotel id
[BOOKINGCOMHOTELID] - booking.com hotel id


[EXPEDIACOMHOTELID] - expedia.com hotel id
[EXPEDIACOMHOTELID] - expedia.com hotel id
[PERMITID] - the permit ID
[CHECKINSTART] - check-in start time in 24hr format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in start')
[CHECKINEND] - check-in end time  in 24hr format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in end')
[CHECKOUTEND] - check-out end time  in 24hr format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-out end')
[CHECKINSTART12] - check-in start time in am/pm format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in start')
[CHECKINEND12] - check-in end time in am/pm format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in end')
[CHECKOUTEND12] - check-out end time in am/pm format (From {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-out end')
[PROPERTYDESCRIPTION1] - Property Description 1 from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYDESCRIPTION2] - Property Description 2 from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYDESCBOOKPAGE1] - Property Description Booking Page 1 from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYDESCBOOKPAGE2] - Property Description Booking Page 1 from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYGUESTDETAILSHEADER] - Guest Details Header from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYGUESTENQUIRYHEADER] - Guest Enquiry Header  from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYCONFIRMBOOKBUTTON] - Confirm Booking Button Message  from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYROOMNOTAVAIL]  - Room Not Available Message  from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYROOMNOPRICE]  - Room No Price Message from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYNOROOMSAVAIL]  - No Rooms Available Message  from {{#fas:cog}} (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT
[PROPERTYGROUP] - shows the group keywords


== Room Variables ==
== Room Variables ==
[ROOMID] - room id number


[ROOMNAME] - room names of all booked rooms
[ROOMNAME] - room names of all booked rooms (not for cancelled bookings use ROOMNAMEINC if used for cancelled bookings)


[ROOMNAMEBR] - room name with line break
[ROOMNAMEBR] - room names with line break
 
[ROOMNAMEINC] room names of all booked rooms including for cancelled bookings
 
[ROOMNAMEINCBR] room names with line break


[ROOMNAME1] - room name of first booked room
[ROOMNAME1] - room name of first booked room
Line 91: Line 169:


[ROOMNAMEOFFERBR] - room names of all booked rooms with offer name with line break
[ROOMNAMEOFFERBR] - room names of all booked rooms with offer name with line break
[ROOMNAMEOFFERINC]  room names of all booked rooms with offer name incl. cancelled bookings
[ROOMNAMEOFFERINCBR] - room names of all booked rooms with offer name with line break


[ROOMTYPEDESC] - room accommodation type first booked room
[ROOMTYPEDESC] - room accommodation type first booked room
Line 96: Line 178:
[ROOMTYPEDESCS]  - room accommodation type all booked rooms
[ROOMTYPEDESCS]  - room accommodation type all booked rooms


[ROOMID] - room id number
[ROOMTYPEDESCSINC] - room accommodation type all booked rooms including cancelled bookings
 
[ROOMSIZE] - size of the room


[ROOMTEMPLATE1] - ROOM Template 1
[ROOMTEMPLATE1] - ROOM Template 1
Line 106: Line 190:
[ROOMTEMPLATE4] - ROOM  Template 4  
[ROOMTEMPLATE4] - ROOM  Template 4  


[ROOMMETAAUXTEXT] - room meta text setting for first booked room
[ROOMTEMPLATE5] - ROOM  Template 5
 
[ROOMTEMPLATE6] - ROOM  Template 6
 
[ROOMTEMPLATE7] - ROOM  Template 7
 
[ROOMTEMPLATE8] - ROOM  Template 8
 
[ROOMTEMPLATE1BR] - ROOM Template 1 with linkbreak
 
[ROOMTEMPLATE2BR] - ROOM  Template 2  with linkbreak
 
[ROOMTEMPLATE3BR] - ROOM  Template 3  with linkbreak
 
[ROOMTEMPLATE4BR] - ROOM  Template 4  with linkbreak
 
[ROOMTEMPLATE5BR] - ROOM  Template 5  with linkbreak
 
[ROOMTEMPLATE6BR] - ROOM  Template 6  with linkbreak
 
[ROOMTEMPLATE7BR] - ROOM  Template 7  with linkbreak
 
[ROOMTEMPLATE8BR] - ROOM  Template 8  with linkbreak


[ROOMMETAAUXTEXTS] - - room meta text setting for all booked rooms
[ROOMMETAAUXTEXT] - room auxiliary text setting for first booked room {{#fas:cog}} (SETTINGS) PROPERTIES > ROOMS > SETUP > DISPLAY
 
[ROOMMETAAUXTEXTS] - room auxiliary text setting for all booked rooms
 
[ROOMMETAAUXTEXTSINC] - room auxiliary text setting for all booked rooms, incl. cancelled bookings


[INTERNALROOMNAME] - internal room name as used in the control panel, this is not the translated room name shown on the booking page
[INTERNALROOMNAME] - internal room name as used in the control panel, this is not the translated room name shown on the booking page
[OFFERID]  - ID of the booked offer


[OFFERNAME] - booked offer name for all booked rooms
[OFFERNAME] - booked offer name for all booked rooms
[OFFERNAME1] - offer name for this booked room only
[OFFERNAMEINC]  - offer name for this booked room only including cancelled bookings


[OFFERDESCRIPTION1] - offer description 1 for all booked rooms
[OFFERDESCRIPTION1] - offer description 1 for all booked rooms
[OFFERDESCRIPTION1INC] - offer description 1 for all booked rooms incl. cancelled


[OFFERDESCRIPTION2] - offer description 2 for all booked rooms
[OFFERDESCRIPTION2] - offer description 2 for all booked rooms


[UNITNAME] - unit names of all the assigned room types
[OFFERDESCRIPTION2INC] - offer description 2 for all booked rooms incl. cancelled


[UNITNAME:1] - additional information about the unit for all the assigned room types
[OFFERDESCRIPTION1-1] - offer description 1 for this booked room  


[UNITNAME1] - unit name of the first assigned room
[OFFERDESCRIPTION2-1] - offer description 2 for this booked room  


[UNITNAME1:1] - additional information about the first assigned room / add the additional information on each line after a | symbol where you set the unit names
[OFFERSUMMARY] - summary offers


[ROOMDESCRIPTION] - Room description (Settings > Channel Manager > Property Content > Room Content)
[OFFERSUMMARYINC] - summary offers including cancelled bookings


[ROOMDESCRIPTION1] - Room description 1 (Settings > Properties > Rooms > Setup)
[UNITID1] - ID of the unit (number) for this booking number (coming soon)
 
[UNITNAME] - unit names of all the assigned room types in the booking group (cancelled bookings are not shown)
 
[UNITNAMEINC] - unit names of all the assigned room types in the booking group including cancelled bookings
 
[UNITNAME:1] - additional information (first) about the unit for all the assigned room types in the booking group (cancelled bookings are not shown)
 
[UNITNAME:2] - additional information (second) about the unit for all the assigned room types in the booking group (cancelled bookings are not shown)
 
[UNITNAME1] - unit name of the assigned room for this booking number
 
[UNITNAME1:1] - additional information about the assigned room for this booking number / add the additional information on each line after a | symbol where you set the unit names
 
[UNITSTATUS1] - the status of the unit
 
[ROOMDESCRIPTION] - Room description  from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
 
[ROOMDESCRIPTION1] - Room description 1 from {{#fas:cog}} (SETTINGS) PROPERTIES > ROOMS > SETUP
 
[LEAVINGDAYAVAIL] - returns yes or no, can be used to trigger an Auto Action
 
[NUMROOMSAVAIL] - returns the number of available rooms (-1 if overbooked), can be used to trigger an Auto Action
 
[ROOMRACKRATENUM] - Rack Rate from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
 
[ROOMCLEANINGFEENUM]  - Cleaning fee from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
 
[ROOMSECURITYDEPOSITNUM]  - Security deposit from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
 
[ROOMTAXPERCENTNUM]  - Tax percentate from from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
 
[ROOMTAXPERSONNUM]  - Tax per Person Night from from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT


== Booking Variables ==
== Booking Variables ==
[BOOKID] - booking reference  
[VIEWBOOKING] - create a URL to log into the control panel and view this booking (for hosts, not intended to be sent to guests)
 
[BOOKID] - booking reference number
 
[BOOKIDS] - booking reference numbers of all bookings in a group
 
[BOOKIDSINC] - booking reference of all bookings in a group including cancelled bookings


[GROUPID] - booking reference of the master booking
[GROUPID] - booking reference of the master booking


[REFERENCENUMBER] - booking reference  
[REFERENCENUMBER] - booking reference (same as [BOOKID])
 
[BOOKIDLAST1] - Last 1 digit of booking number
 
[BOOKIDLAST2] - Last 2 digits of booking number
 
[BOOKIDLAST3] - Last 3 digits of booking number
 
[BOOKIDLAST4] - Last 4 digits of booking number
 
[BOOKIDLAST5] - Last 5 digits of booking number
 
[BOOKIDLAST6] - Last 6 digits of booking number
 
[BOOKIDLAST7] - Last 7 digits of booking number
 
[BOOKIDLAST8] - Last 8 digits of booking number
 
[BEDDING] - displays bedding info codes
 
[RANDOM1] - a 1 digit random number seeded from the booking number
 
[RANDOM2] - a 2 digit random number seeded from the booking number
 
[RANDOM3] - a 3 digit random number seeded from the booking number
 
[RANDOM4] - a 4 digit random number seeded from the booking number
 
[RANDOM5] - a 5 digit random number seeded from the booking number
 
[RANDOM6] - a 6 digit random number seeded from the booking number
 
[RANDOM7] - a 7 digit random number seeded from the booking number
 
[RANDOM8] - a 8 digit random number seeded from the booking number
 
[VOUCHERPHRASE1] - Voucher Phrase - change the number to the voucher  you want to print out.
 
[VOUCHERAMOUNT1]  - Voucher Amount - change the number to the voucher you want to print out.
 
=== Content from "Info" tab ===
[BOOKINGINFOITEMS] - Booking Info Codes - Codes and text
 
[BOOKINGINFOITEMSBR] - Booking Info Codes - Codes and text with line break
 
[BOOKINGINFOTEXTS] - Booking Info Codes - Text only
 
[BOOKINGINFOTEXTSBR] Booking Info Codes - Text only with line break
 
[BOOKINGINFOCODES] - Booking Info Codes - Codes only
 
[BOOKINGINFOCODESBR]  - Booking Info Codes - Codes and text with line break
 
[BOOKINGINFOCODETEXT:infoCode] - the most recent Text value of the specified Booking Info Code, "infoCode" in this example
 
[BOOKINGINFOCODEDATE:infoCode]- the most recent date value of the specified Booking Info Code, "infoCode" in this example, supports custom date/time formats {%A, %e %B, %Y} after the infoCode
 
[INTERNALNOTES]  - content from "Internal Notes" on the Info Tab
 
[INTERNALNOTESBR] - content from "Internal Notes" on the Info Tab with line break
 
[INTERNALNOTESHR] - content from "Internal Notes" on the Info Tab with separating line
 
=== Content from "Summary" tab see also under "Room" and "Property" ===
[STATUS] - status of booking
 
[SUBSTATUS] - sub status of the booking


[FIRSTNIGHT] - first night booked
[FIRSTNIGHT] - first night booked
Line 155: Line 377:
[LEAVINGDAYYYYY-MM-DD] - check-out day in YYYY-MM-DD format
[LEAVINGDAYYYYY-MM-DD] - check-out day in YYYY-MM-DD format


[NUMROOM] - the quantity of rooms booked (first room type only)
[NUMNIGHT] - number of nights
 
[NUMNIGHTS] - number of nights sum across group booking
 
[NUMNIGHTSINC] - number of nights sum across group booking incl. cancelled
 
[GUESTTITLE] - guest title on the "summary" tab of the booking
 
[GUESTFIRSTNAME] - first name  on the "summary" tab of the booking
 
[GUESTNAME] - last name on the "summary" tab of the booking
 
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
 
[GUESTNAMESINC] - name of all guests in the booking on the "summary" tab of the booking incl. cancelled bookings
 
[GUESTNAMESINCBR] - name of all guests in the booking on the "summary" tab of the booking incl. cancelled bookings  with line break on the "summary" tab of the booking
 
[GUESTFULLNAME] -  title, first name, last name on the "summary" tab of the booking
 
[GUESTFULLNAMES] -  titles, first names, last names of all guests in the booking  on the "summary" tab of the booking
 
[GUESTFULLNAMESBR] -  titles, first names, last names of all guests in the booking with line break on the "summary" tab of the booking
 
[GUESTFULLNAMESINC] -  titles, first names, last names of all guests in the booking  on the "summary" tab of the booking incl. cancelled
 
[GUESTFULLNAMESINCBR] -  titles, first names, last names of all guests in the booking with line break on the "summary" tab of the booking incl. cancelled
 
[GUESTCOMMENTS] - comments in the booking
 
[GUESTCOMMENTSBR] - comments in the booking with line breaks <BR>
 
[NOTES] - notes
 
[NOTESBR] - notes with line breaks <BR>


[NUMROOMS] - the quantity of rooms booked (sum of all rooms and room types)
[GUESTARRIVALTIME] - arrival time


[NUMNIGHT] - number of nights
[NUMADULT] - number of adults in this room or in group if master booking (not for cancelled bookings use NUMADULTINC if used for cacelled bookings)


[NUMADULT] - number of adults in this room or in group if master booking
[NUMADULTINC] - number of adults in this room or in group if master booking incl. cancelled bookings


[NUMADULT1] - number of adults in this room
[NUMADULT1] - number of adults in this room


[NUMCHILD] - number of children in this room or in group if master booking  
[NUMCHILD] - number of children in this room or in group if master booking (not for cancelled bookings use NUMCHILDINC if used for cacelled bookings)
 
[NUMCHILDINC] number of children in this room or in group if master booking including cancelled bookings


[NUMCHILD1] - number of children in this room
[NUMCHILD1] - number of children in this room


[NUMPEOPLE] - number of guests in this room or in group if master booking
[NUMPEOPLE] - number of guests in this room or in group if master booking
[NUMPEOPLEINC] - number of guests in this room or in group if master booking incl. cancelled bookings


[NUMPEOPLE1] - number of people in this room
[NUMPEOPLE1] - number of people in this room


[RATEDESC] - rate description
[GUESTPHONE]  - guests phone number
 
[GUESTPHONENUM]  - guests phone number with all non-numeric characters removed
 
[GUESTMOBILE] - guests mobile number
 
[GUESTMOBILENUM] - guests mobile number with all non-numeric characters removed
 
[MOBILELAST1] last digit of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[MOBILELAST2] last 2 digits of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[MOBILELAST3] last 3 digits of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[MOBILELAST4] last 4 digits of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[MOBILELAST5] last 5 digits of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[MOBILELAST6] last 6 digits of the guests mobile number, if mobile is empty the guests phone number will be used.
 
[PHONELAST1]  - last digit of the guests phone number if guest phone is empty it will use the guests mobile number
 
[PHONELAST2]  - last 2 digits of the guests phone number if guest phone is empty it will use the guests mobile number
 
[PHONELAST3]  - last 3 digits of the guests phone number if guest phone is empty it will use the guests mobile number
 
[PHONELAST4]  - last 4 digits of the guests phone number if guest phone is empty it will use the guests mobile number
 
[PHONELAST5]  - last 5 digits of the guests phone number if guest phone is empty it will use the guests mobile number
 
[PHONELAST6]  - last 6 digits of the guests phone number if guest phone is empty it will use the guests mobile number
 
[GUESTSMS:49] - attempt to convert the guest mobile number into a format suitable for SMS, if country code is missing add the one supplied in the template variable, if mobile number is empty use guest phone number instead.
 
[GUESTCOMPANY] - company name
 
[GUESTCOMPANYBR] - company name with line breaks
 
[GUESTFAX] - guests fax number
 
[GUESTFAXNUM] - guests fax number with all non-numeric characters removed
 
[GUESTADDRESS]  - guests address
 
[GUESTADDRESSBR]  - guests address with line breaks
 
[GUESTSADDRESSSBR1INC]  - guests address with line breaks incl. cancelled bookings
 
[GUESTPOSTCODE] -  guests postcode
 
[GUESTCITY] - guests city
 
[GUESTSTATE] - guests state
 
[GUESTCOUNTRY] - guests country from free text field is not empty, otherwise from selector list
 
[GUESTCOUNTRYHL] - guests country from free text field is not empty, otherwise from selector list in hosts language
 
[GUESTCOUNTRYGL] - guests country from free text field is not empty, otherwise from selector list in guests language
 
[GUESTCOUNTRYSELECT] - guests country from selector list
 
[GUESTCOUNTRYSELECTHL] - guests country from selector list in hosts language
 
[GUESTCOUNTRYSELECTGL] - guests country from selector list in guests language
 
[GUESTCOUNTRYTEXT] - guests country from free text field
 
[GUESTCOUNTRY2] - guests country from selector list as two letter code
 
=== Content from "Details" tab ===
[MESSAGE] - the content of the booking message field
 
[MESSAGEBR] - the content of the booking message field with line breaks <BR>
 
[GUESTCUSTOMQ1] - answer to custom question 1
 
[GUESTCUSTOMQ1BR] - answer to custom question 1 with line breaks <BR>
 
[GUESTCUSTOMQ2] - answer to custom question 2
 
[GUESTCUSTOMQsBR] - answer to custom question 2 with line breaks <BR>
 
[GUESTCUSTOMQ3] - answer to custom question 3
 
[GUESTCUSTOMQ3BR] - answer to custom question 3 with line breaks <BR>
 
[GUESTCUSTOMQ4] - answer to custom question 4
 
[GUESTCUSTOMQ4BR] - answer to custom question 4 with line breaks <BR>
 
[GUESTCUSTOMQ5] - answer to custom question 5
 
[GUESTCUSTOMQ5BR] - answer to custom question 5 with line breaks <BR>
 
[GUESTCUSTOMQ6] - answer to custom question 6
 
[GUESTCUSTOMQ6BR] - answer to custom question 6 with line breaks <BR>
 
[GUESTCUSTOMQ7] - answer to custom question 7
 
[GUESTCUSTOMQ7BR] - answer to custom question 7 with line breaks <BR>
 
[GUESTCUSTOMQ8] - answer to custom question 8
 
[GUESTCUSTOMQ8BR] - answer to custom question 8 with line breaks <BR>
 
[GUESTCUSTOMQ9] - answer to custom question 9
 
[GUESTCUSTOMQ9BR] - answer to custom question 9 with line breaks <BR>
 
[GUESTCUSTOMQ10] - answer to custom question 10
 
[GUESTCUSTOMQ10BR] - answer to custom question 10 with line breaks <BR>
 
[REFERENCE] - content of the booking reference field
 
[NUMROOM] - the quantity of rooms booked (first room type only)
 
[NUMROOMS] - the quantity of rooms booked (sum of all rooms and room types)
 
[NUMROOMSINC] - the quantity of rooms booked (sum of all rooms and room types) inc. cancelled
 
[FLAG] - Flag
 
[STATUSCODE] - 'Status Code' (Under tab 'Detail'. Can be a value between 0-100.)
 
[ORIGINALREFERRER]  - Original referrer
 
[REFERRER] - Referrer
 
[APIREF] - the booking number at the originating channel
 
[APISOURCE] - Beds24 channel number
 
[APISOURCETEXT] - human readable name of the channel
 
[BOOKINGIP] - ip address of booker's computer
 
[APIMESSAGE] - api message sent by originating channel from the Channel Info setting
 
[BOOKINGDATE] - booking date in guests language
 
[BOOKINGTIMEDATE] - booking date and time in guests language
 
[BOOKINGDATEYYYY-MM-DD] - booking date in YYYY-MM-DD format
 
see date and time variables below for custom time formats.
 
=== Content from "Charges and Payments" tab (also see "Invoice/Invoicee/Room") ===
[BOOKINGINVOICEEID] - invoicee id assigned to this booking, this comes from the booking invoicee setting, not from the bookings invoice items
 
[RATEDESC] - rate description (in the booking popup under the tab 'Charges & Payments')


[RATEDESCBR] - name of the rate with HTML &lt;BR&gt; to force new lines
[RATEDESCBR] - name of the rate with HTML &lt;BR&gt; to force new lines
Line 187: Line 599:
[PRICENUM] - As per [PRICE] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).  
[PRICENUM] - As per [PRICE] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).  


[PRICENUM:] - As per [PRICE:] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).
[PRICENUM:] - As per [PRICE:] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)


[PRICELESSCOMMISSION] - Value in price field less value in commission field with currency symbol
[PRICELESSCOMMISSION] - Value in price field less value in commission field with currency symbol


[PRICELESSCOMMISSIONNUM] - As per [PRICELESSCOMMISSION] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).
[PRICELESSCOMMISSIONNUM] - As per [PRICELESSCOMMISSION] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)


[PRICELESSTAX] - Value in price field less value in tax field with currency symbol
[PRICELESSTAX] - Value in price field less value in tax field with currency symbol


[PRICELESSTAXNUM] - As per [PRICELESSTAX] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).
[PRICELESSTAXNUM] - As per [PRICELESSTAX] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)


[AVPRICE] - Average Nightly Price with currency symbol
[AVPRICE] - Average Nightly Price with currency symbol


[AVPRICENUM] - Average Nightly Price with a decimal point and no thousands separator and no currency symbols (for calculation).
[AVPRICENUM] - Average Nightly Price with a decimal point and no thousands separator and no currency symbols (for calculation)


[AVPRICE:20%] - Percentage value of Average Nightly Price  
[AVPRICE:20%] - Percentage value of Average Nightly Price  


[AVPRICE:15] - Average Nightly Price with offset amount
[AVPRICE:15] - Average Nightly Price with offset amount
[BASEPRICE] - Lodging Price
[BASEPRICENUM] -  same as [BASEPRICE] with a decimal point and no thousands separator and no currency symbols (for calculation)
[BASEGROUPPRICE] -  Lodging Price for Group
[BASEGROUPPRICENUM] -  same as BASEGROUPPRICE]  with a decimal point and no thousands separator and no currency symbols (for calculation)
[BASEVAT] - Lodging Price vat amount
[BASEVATNUM] -  same as [BASEVAT] with a decimal point and no thousands separator and no currency symbols (for calculation)
[BASEGROUPVAT] -  Lodging Price vat amount for Group
[BASEGROUPVATNUM] -  same as BASEGROUPVAT]  with a decimal point and no thousands separator and no currency symbols (for calculation)
[AVBASEPRICE] - Average Nightly Lodging Price
[AVBASEPRICENUM] -  same as [AVBASEPRICE] with a decimal point and no thousands separator and no currency symbols (for calculation)
[AVBASEGROUPPRICE] Average Nightly Lodging Price for Group
[AVBASEGROUPPRICENUM] - same as [AVBASEGROUPPRICE] with a decimal point and no thousands separator and no currency symbols (for calculation)


[DEPOSIT] - Value in deposit field with currency symbol
[DEPOSIT] - Value in deposit field with currency symbol


[DEPOSITNUM] - As per [DEPOSIT] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)
[DEPOSITNUM] - As per [DEPOSIT] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)  


[TAX] - Value in tax field with currency symbol
[TAX] - Value in tax field with currency symbol
Line 215: Line 651:
[COMMISSION] - Value in commission field with currency symbol
[COMMISSION] - Value in commission field with currency symbol


[COMMISSIONNUM] - As per [COMMISSION] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation).
[COMMISSIONNUM] - As per [COMMISSION] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)


[GUESTTITLE] - guest title
[COMMISSIONGROUP] - Value of the commission of the complete group booking with currency symbol


[GUESTFIRSTNAME] - first name
[COMMISSIONGROUPNUM] - As per [COMMISSIONGROUP] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)


[GUESTNAME] - last name
[GUESTVOUCHER] - voucher code used with booking


[GUESTFULLNAME] - title, first name, last name
[CARDLASTFOUR] - last 4 digits of card


[GUESTEMAIL] - guest's Email address
[CARDFIRSTSIX] - first 6 digits of card


[GUESTPHONE] - guests phone number
===Content from Invoice" tab===
[BOOKINGINVOICEEID] - invoicee id assigned to this booking, this comes from the booking invoicee setting, not from the bookings invoice items
 
[BOOKINGINVOICEENAME] - invoicee name assigned to this booking, this comes from the booking invoicee setting, not from the bookings invoice items
 
===Content from "Group Invoice" tab===
[GROUPNOTE] - group note
 
=== Content from "Mail & Actions" tab ===
[GUESTEMAIL] - guest's Email address on the "Mail & Action" tab of the booking


[GUESTADDRESS] - guests address
[GUESTLANGUAGE] - guest language


[GUESTPOSTCODE] - guests postcode
[EMAIL:00] - Status of an Auto Action email. Replace 00 with the number of the Auto Action. This shows if the email has been sent and if so, the time it was sent.


[GUESTCITY] - guests city
=== Content from "Guests" tab ===
[GUESTSID] - all IDs of this booking


[GUESTCOUNTRY] - guests country from free text field is not empty, otherwise from selector list
[GUESTSID1] - ID of the first guest


[GUESTCOUNTRYHL] - guests country from free text field is not empty, otherwise from selector list in hosts languabe
[GUESTSIDS] - all IDs for all bookings in the group


[GUESTCOUNTRYGL] - guests country from free text field is not empty, otherwise from selector list in guests language
[GUESTSNAME] - name of all guests listed on the "guests" tab of this booking


[GUESTCOUNTRYSELECT] - guests country from selector list
[GUESTSNAMES] - name of all guests listed on the "guests" tab of the booking of the group booking


[GUESTCOUNTRYSELECTHL] - guests country from selector list in hosts language
[GUESTSNAMESINC] - name of all guests listed on the "guests" tab of the booking of the group booking incl. cancelled


[GUESTCOUNTRYSELECTGL] - guests country from selector list in guests language
[GUESTSFIRSTNAMES] - first name of all guests listed on the "guests" tab of this booking last separated by an &


[GUESTCOUNTRYTEXT] - guests country from free text field
[GUESTSFIRSTNAMESINC] - first name of all guests listed on the "guests" tab of this booking incl. cancelled


[GUESTMOBILE] - guests mobile number
[GUESTSLASTNAMES] - last name of all guests listed on the "guests" tab of this booking


[GUESTFAX] - guests fax number
[GUESTSLASTNAMESINC] - last name of all guests listed on the "guests" tab of this booking incl. cancelled


[GUESTARRIVALTIME] - arrival time
[GUESTSADDRESSSBR1] - address of the first guest on the "guests" tab of this booking group


[GUESTCOMMENTS] - comments in the booking  
[GUESTSADDRESSSBR1INC] - address of the first guest on the "guests" tab of this booking group incl. cancelled


[GUESTCOMMENTSBR] - comments in the booking with line breaks <BR>
[GUESTSAFULLADDRESSSBR1INC] - the first address including city, postcode, sate and country from the guests tab of the booking including cancelled bookings in international  format


[GUESTCUSTOMQ1] - answer to custom question 1
[GUESTSAFULLADDRESSSBR1] - the first address including city, postcode, sate and country from the guests tab of the booking in International format


[GUESTCUSTOMQ2] - answer to custom question 2
[GUESTSBFULLADDRESSSBR1INC] - the first address including city, postcode, sate and country from the guests tab of the booking including cancelled bookings in  European format


[GUESTCUSTOMQ3] - answer to custom question 3
[GUESTSBFULLADDRESSSBR1] - the first address including city, postcode, sate and country from the guests tab of the booking in European format


[GUESTCUSTOMQ4] - answer to custom question 4
[GUESTSNUMBOOKINGS1] - the total number of bookings made by the first guest, a group booking counts as one booking.


[GUESTCUSTOMQ5] - answer to custom question 5
[GUESTSNUMSTAYS1] - the total number of bookings not cancelled and not in the future made by the first guest, a group booking counts as one booking.


[GUESTCUSTOMQ6] - answer to custom question 6
[GUESTSCUSTOMQ1S] - answer to custom question 1 for all guests


[GUESTCUSTOMQ7] - answer to custom question 7
[GUESTSCUSTOMQ1SINC] - answer to custom question 1 for all guests including cancelled bookings


[GUESTCUSTOMQ8] - answer to custom question 8
[GUESTSCUSTOMQ2S] - answer to custom question 2 for all guests


[GUESTCUSTOMQ9] - answer to custom question 9
[GUESTSCUSTOMQ2SINC] - answer to custom question 2 for all guests including cancelled bookings 


[GUESTCUSTOMQ10] - answer to custom question 10
[GUESTSCUSTOMQ3S] - answer to custom question 3 for all guests


[GUESTLANGUAGE] - guest language
[GUESTSCUSTOMQ3SINC] - answer to custom question 3 for all guests including cancelled bookings 


[BOOKGROUPNAMELIST] - create a table of guest names including room type and unit for a group booking
[GUESTSCUSTOMQ4S] - answer to custom question 4 for all guests


[BOOKGROUPUNITLIST] - create a table of guest names including unit for a group booking
[GUESTSCUSTOMQ4SINC] - answer to custom question 4 for all guests including cancelled bookings 


[BOOKGROUPNAMELISTTOTAL] - create a table of guest names including room type and unit for a group booking with guest totals
[GUESTSCUSTOMQ5S] - answer to custom question 5 for all guests


[BOOKGROUPUNITLISTTOTAL] - create a table of guest names including unit for a group booking with guest totals
[GUESTSCUSTOMQ5SINC] - answer to custom question 5 for all guests including cancelled bookings


[REFERRER] - Referrer
[GUESTSCUSTOMQ6S] - answer to custom question 6 for all guests


[ORIGINALREFERRER- Original referrer
[GUESTSCUSTOMQ6SINC] - answer to custom question 6 for all guests including cancelled bookings  


[APIREF] - the booking number at the originating channel
[GUESTSCUSTOMQ7S] - answer to custom question 7 for all guests


[APIMESSAGE] - api message sent by originating channel
[GUESTSCUSTOMQ7SINC] - answer to custom question 7 for all guests including cancelled bookings 


[APISOURCE] - Beds24 channel number
[GUESTSCUSTOMQ7S] - answer to custom question 8 for all guests


[NOTES] - notes
[GUESTSCUSTOMQ8SINC] - answer to custom question 8 for all guests including cancelled bookings


[NOTESBR] - notes with line breaks <BR>
[GUESTSCUSTOMQ9S] - answer to custom question 9 for all guests


[MESSAGE] - the content of the booking message field
[GUESTSCUSTOMQ9SINC] - answer to custom question 9 for all guests including cancelled bookings 


[MESSAGEBR] - the content of the booking message field with line breaks <BR>
[GUESTSCUSTOMQ10S] - answer to custom question 10 for all guests


[REFERENCE] - content of the booking reference field
[GUESTSCUSTOMQ10SINC] - answer to custom question 10 for all guests including cancelled bookings


[STATUS] - status of booking  
===Cancellation, Management and Guest Login===
[CANCELLEDTIME] - date when the booking was cancelled


[FLAG] - Flag
[CANCELLEDTIME:{%A, %e %B, %Y}] - date when the booking was cancelled


[CANCELURL] - URL to view and cancel bookings  
[CANCELURL] - URL to view and cancel bookings  


[CANCELDATE] - date until when the booking is cancelable
[CANCELDATE] - date until when the booking is cancellable displaying a phrase
 
[CANCELDATEYYYY-MM-DD] - date until when the booking is cancellable displaying a date. If the date is in the past 00-00-0000 will be shown
 
[DAYSTOCANCEL] - number of days from today until booking can no longer be cancelled (Not applicable for OTA bookings)
 
[CANCELUNTIL] - shows the number of days between check-in and the last day the booking can be cancelled. If guest can always cancel it shows 0, if guest can never cancel it shows 999. (Not applicable for OTA bookings)


[GUESTLOGIN] - URL to view bookings  
[GUESTLOGIN] - URL to view bookings
 
[TURNOVERDAYS] - days until next arrival into the same unit not considering black bookings
 
[TURNOVERDAYSB] - days until next arrival into the same unit considering black bookings
 
[VACANTDAYS]  days from previous checkout to check in of current booking not considering black bookings
 
[VACANTDAYSB]  days from previous checkout to check in of current booking considering black bookings
 
==Date and Time==


[CURRENTDATE] - current date
[CURRENTDATE] - current date
Line 323: Line 786:
[CURRENTDATEYYYY-MM-DD] - current date  in YYYY-MM-DD format
[CURRENTDATEYYYY-MM-DD] - current date  in YYYY-MM-DD format


[CURRENTTIME] - current time
[CURRENTDATE:{%A, %e %B, %Y}] - current date
 
[CURRENTDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.
 
[CURRENTTIME] - current time.
 
[CURRENTTIME:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.
 
[DAYSTOCHECKIN] -  number of days until check-in
 
[INADVANCE] - number of days between booking and check-in
 
[DAYSBETWEEN:2019-11-01:2019-11-10] - this template variable will calculate the number of days between the :: the dates need to be in yyyy-mm-dd format. Template variables can be used for calculation.
 
Example:  [[DAYSBETWEEN:[FIRSTNIGHT:+5 days{%G-%m-%d}]:[CURRENTDATE:{%G-%m-%d}]] will calculate the days between 5 days after check-in and today.
 
[FIRSTNIGHT:{%A, %e %B, %Y}] -  first night booked
 
[FIRSTNIGHT:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.
 
[LASTNIGHT:{%A, %e %B, %Y}] -  last night booked
 
[LASTNIGHT:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.
 
[LEAVINGDAY:{%A, %e %B, %Y}] -  check-out
 
[LEAVINGDAY:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.


[BOOKINGDATE] - booking date
[BOOKINGDATE:{%A, %e %B, %Y}] - booking date


[BOOKINGTIMEDATE] - booking date and time
[BOOKINGDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format.


[BOOKINGDATEYYYY-MM-DD] - booking date in YYYY-MM-DD format
[MODIFYDATE:{%A, %e %B, %Y}] - last booking modification date/time.
 
[PAYMENTDATE:{%A, %e %B, %Y}] - most recent payment date
 
[PAYMENTDATE:+1day{%A, %e %B, %Y}:1:1000] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be in a custom format. The second parameter specifies the payment to show, 0 or missing means the most recent payment. The third parameter specifies the invoicee.
 
[AUTHORIZEUNTIL] - date until which a card is authorized, this is extracted from the most recent authorize booking info code.
 
[AUTHORIZEUNTIL{%A, %e %B, %Y}] - custom format date until which a card is authorized, this is extracted from the most recent authorize booking info code.
 
[FORMATDATE:[any template variable that creates a date]{%A, %e %B, %Y}] - custom format the date. The date value could be included by inserting a different template variable containing a date.
 
 
The following codes can be used in any order between the {} brackets to create custom time and date formats.
 
    %a An abbreviated textual representation of the day Sun through Sat 
    %A A full textual representation of the day Sunday through Saturday 
    %d Two-digit day of the month (with leading zeros) 01 to 31 
    %e Day of the month, with a space preceding single digits. 1 to 31 
    %u ISO-8601 numeric representation of the day of the week 1 (for Monday) through 7 (for Sunday) 
    %w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday) 
    %V ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week 01 through 53 (where 53 accounts for an overlapping week) 
    %b Abbreviated month name, based on the locale Jan through Dec 
    %B Full month name, based on the locale January through December 
    %h Abbreviated month name, based on the locale (an alias of %b) Jan through Dec 
    %m Two digit representation of the month 01 (for January) through 12 (for December) 
    %y Two digit representation of the year Example: 09 for 2009, 79 for 1979 
    %Y Four digit representation for the year Example: 2038 
    %H Two digit representation of the hour in 24-hour format 00 through 23 
    %I Two digit representation of the hour in 12-hour format 01 through 12 
    %M Two digit representation of the minute 00 through 59 
    %p UPPER-CASE 'AM' or 'PM' based on the given time Example: AM for 00:31, PM for 22:23 
    %P lower-case 'am' or 'pm' based on the given time Example: am for 00:31, pm for 22:23 
    %R Same as "%H:%M" Example: 00:35 for 12:35 AM, 16:44 for 4:44 PM 
    %S Two digit representation of the second 00 through 59 
    %F Same as "%Y-%m-%d" (commonly used in database datestamps) Example: 2009-02-05 for February 5, 2009 
    %s Unix Epoch Time timestamp (same as the time() function) Example: 305815200 for September 10, 1979 08:40:00 AM 
    %% A literal percentage character ("%")
 
== Booking Group variables ==
=== Custom Booking Group Table ===
create your own booking group list by specifying the columns in the order you want them to appear.
 
for example: [BOOKGROUP:PROP_ROOM_BREF_NAME]
 
column parameters
 
100% = 100% width
 
ADDR = Booking address
 
ADUL= the number of adults
 
ARIV = Arrival date
 
BOPR = Bold prices
 
BREF = Booking number
 
BRL1 = Last digit of booking number
 
BRL2 = Last 2 digits of booking number
 
BRL3 = Last 3 digits of booking number
 
BRL4 = Last 4 digits of booking number
 
BRL5 = Last 5 digits of booking number
 
BRL6 = Last 6 digits of booking number
 
CITY = Booking city
 
CHAC = Charges with currency symbol
 
CHAR = Charges
 
CHIL = Number of children
 
COUN = Booking country
 
DEPT = Departure date
 
EMAI = Booking Email
 
EXSP = extra space between rows
 
FLAG = Booking flag text
 
FNAM = Booking first name
 
GADD = Guest address
 
GCIT = Guest city
 
GCOM = Guest company
 
GCOU = Guest country
 
GFLA = Guest flag text
 
GFNA = Guest first name
 
GLNA = Guest last name
 
GMOB = Guest mobile
 
GNAM = Guest full name
 
GEMA = Guest Email
 
GNOT = Guest note
 
GPOS = Guest postcode
 
GREF = Guest Id
 
GSTA = Guest state
 
GTEL = Guest phone
 
ICAN = Include cancelled bookings
 
LNAM = Booking last name
 
MOBI = Booking mobile
 
NAME = Booking full name
 
NOHE = no header
 
NOTE = Booking note
 
NUMN = Number of nights booked
 
ONAM = Offer Name
 
ONLY = Just show the one booking
 
PAIC = Payment amount with currency symbol
 
PADD = Property Address
 
PAID = Paid amount
 
PCIT = Property City
 
PEOP = Number of guests
 
PHON = Booking phone
 
POST = Booking postcode
 
PROP = Property name
 
RDE0 =  Room description from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT


[BOOKINGIP] - ip address of booker's computer
RDE1 = Room description 1 from {{#fas:cog}} (SETTINGS) PROPERTIES> ROOMS > SETUP


[VIEWBOOKING] - create a URL to log into the control panel and view this booking (for hosts, not intended to be sent to guests)
RNAM = Room Display Name
ROOM = Room name


[EMAIL:00] - Status of an Auto Action email. Replace 00 with the number of the Auto Action. This shows if the email has been sent and if so, the time it was sent.
RQTY = shows the number of rooms for each booking and a total at the bottom


[BOOKIDLAST1] - Last 1 digit of booking number
STAT = Booking state


[BOOKIDLAST2] - Last 2 digits of booking number
STUS = Status


[BOOKIDLAST3] - Last 3 digits of booking number
TEXT = Prints a plain text table instead of HTML


[BOOKIDLAST4] - Last 4 digits of booking number
TOTA = Total price


[BOOKIDLAST5] - Last 5 digits of booking number
UNI2 = Unit first additional information
     
UNI3 = Unit second additional information


[BOOKIDLAST6] - Last 6 digits of booking number
UNIT = Unit name


[BOOKIDLAST7] - Last 7 digits of booking number


[BOOKIDLAST8] - Last 8 digits of booking number
Connect the parameters with an underscore.


[RANDOM1] - a 1 digit random number seeded from the booking number
Examples:


[RANDOM2] - a 2 digit random number seeded from the booking number
[BOOKGROUP:PROP_ROOM_BREF_NAME] will display the property name, room name,  booking number and guest name in this order.


[RANDOM3] - a 3 digit random number seeded from the booking number


[RANDOM4] - a 4 digit random number seeded from the booking number
[BOOKGROUP:BREF_NAME_PROP_ROOM] will display the booking number, guest name property name and  room name in this order.


[RANDOM5] - a 5 digit random number seeded from the booking number
=== Booking Group Table with fixed content===
[BOOKGROUPROOMLIST] - create a table of guest names including room type for a group booking


[RANDOM6] - a 6 digit random number seeded from the booking number
[BOOKGROUPROOMLISTTOTAL] - create a table of guest names including room type for a group booking with guest totals


[RANDOM7] - a 7 digit random number seeded from the booking number
[BOOKGROUPROOMLISTCHARGETOTAL] - create a table of guest names including room type and charge for a group booking with guest totals


[RANDOM8] - a 8 digit random number seeded from the booking number
[BOOKGROUPNAMELIST] - create a table of guest names including room type and unit for a group booking


[BOOKINGINFOITEMS] - Booking Info Codes - Codes and text
[BOOKGROUPNAMELISTTOTAL] - create a table of guest names including room type and unit for a group booking with guest totals


[BOOKINGINFOTEXTS] - Booking Info Codes - Text only
[BOOKGROUPNAMELISTCHARGETOTAL] - create a table of guest names including room type and unit and charge for a group booking with guest totals


[BOOKINGINFOCODES] - Booking Info Codes - Codes only
[BOOKGROUPUNITLIST] - create a table of guest names including unit for a group booking


[BOOKINGINFOCODE:THIS_INFO_CODE] - the most recent Text value of the specified Booking Info Code
[BOOKGROUPUNITLISTTOTAL] - create a table of guest names including unit for a group booking with guest totals


[CARDLASTFOUR] - last 4 digits of card
[BOOKGROUPUNITLISTCHARGETOTAL] - create a table of guest names including unit and charge for a group booking with guest totals


== Invoice Variables ==
== Invoice Variables ==
[INVOICENUMBER] - invoice number


[INVOICENUMBER] - invoice number
[INVOICENUMBERS] - invoice number if invoicees are involved


[INVOICEDATE] - invoice date
[INVOICEDATE] - invoice date


[INVOICEDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
[INVOICEDATES] - invoice date invoice number if invoicees are involved


[INVOICEDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days.
[INVOICEDATES:+1day{%A, %e %B, %Y}] - optional date offset and display format - invoice date invoice number if invoicees are involved, The offset can be any plus or minus any number of days.
=== Invoice Values ===
These template variables will display a value form the invoice.
==== Custom Invoice Values====
You have the option to create a custom invoice variable to display a value from an invoice. [INVOICEVAL with a selection of the following variables specifies the calculation:
CHA - charges
CON - currency conversion. Example: CONEURUSD will convert the first currency (Euros) to the second currency (USD). CON1.234 would multiply the prices by 1.234
DEC - Decimal points. Example: DEC, will show a comma as decimal point. If nothing is set the system will use the default for the language
DP0 - no decimal places
DP1 - 1 decimal place
DP2 - 2 decimal places
DP3 - 3 decimal places
DP4 - 4 decimal places
DES - used as "DESsome description" - gives the sum of values containing the description "some description"
INV - invoicee, add the invoicee number at the end. Example: INV20 to show invoicee number 20, INV0 will show items not assigned to an invoicee, INV-1 will show all items from the booking regardless of invoicee. You can combine INV[BOOKINGINVOICEEID]] to add the invoicee from the booking
IT1 - item 1 in the invoice
IT2 -  item 2 in the invoice
IT3 -  item 3 in the invoice
IT4 -  item 4 in the invoice
IT5 -  item 5 in the invoice
MUL - multiplier. Example: MUL1.2 will multiply all prices by 1.2
NUM - show with decimal place (for scripts)
THO - thousands separator. THO. will show a dot as thousand separator. If nothing is set the system will use the default for the language
UPS1 - upsell 1
UPS2 - upsell 2
UPS3 - upsell 3
UPS4 - upsell 4
UPS5 - upsell 5
ONE - shows only items from the specified booking (not the booking group)
PAY - shows payments
QTY - shows quantity
SEX - status excluded. Calculate the balance of all invoice items except for the ones with these status, the status items can be a comma separated list. Example: SEX status1,status2,status4 will not show items with this status.
SIN - status included. Calculate the balance of all invoice items with matching status, the status items can be a comma separated list. Example: SIN status1,status2,status4 will only show items with this status.
VAT - VAT summary
Connect the variables with an underscore.
Examples:
[INVOICEVAL:PAY_THO] will show payments with a thousands separator
[INVOICEVAL:UPS1_UPS2]  will show the sum of upsell 1 and upsell 2
==== Standard Invoice Values====
[INVOICEBALANCE] - invoice balance
[INVOICEBALANCE] - invoice balance


Line 432: Line 1,158:


[INVOICEPARTPAYMENTSNUM:status1,status2,status4:10%] - As per INVOICEPARTCHARGES but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPARTPAYMENTSNUM:status1,status2,status4:10%] - As per INVOICEPARTCHARGES but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAY] - all (auto and manual) pending payments including failed
[INVOICEPENDPAYNEXTDATE]  - date of the next pending payment
[INVOICEPENDPAYNUM] - all (auto and manual) pending payments including failed but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAY1234] -  all (auto and manual) pending payments including failed for the specified invoicee (-1 will include all items regardless of invoicee)
[INVOICEPENDPAYNUM1234] -  all (auto and manual) pending payments including failed for the specified invoicee (-1 will include all items regardless of invoicee) The value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAYAUTO] -  auto  pending payments before due date
[INVOICEPENDPAYAUTONUM] - auto  pending payments before due date but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAYAUTO1234]  auto pending payments before due date for the specified invoicee but the value is displayed with a decimal point and no thousands separator (for calculation) (-1 will include all items regardless of invoicee)
[INVOICEPENDPAYAUTONUM1234]  auto pending payments before due date for the specified invoicee but the value is displayed with a decimal point and no thousands separator (for calculation) (-1 will include all items regardless of invoicee)
[INVOICEPENDPAYFAIL]  - failed pending payments (all also past)
[INVOICEPENDPAYFAILNUM] - failed pending payments (all also past)  but the value is displayed with a decimal point and no thousands separator (for calculation)
[INVOICEPENDPAYFAIL234] - failed pending payments (all also past) for the specified invoicee  (-1 will include all items regardless of invoicee)
[INVOICEPENDPAYFAILNUM234] - failed pending payments (all also past) for the specified invoicee but the value is displayed with a decimal point and no thousands separator (for calculation) (-1 will include all items regardless of invoicee)
[INVOICEPENDPAYRULE1] - shows all pending payment for this rule (exchange 1 for the rule number)
[INVOICEPENDPAYRULENUM1] - shows all pending payment for this rule (exchange 1 for the rule number) displayed with a decimal point and no thousands separator (for calculation)
[INVOICEPENDPAYMANUAL] -  manual pending payments
[INVOICEPENDPAYMANUALNUM] -  manual pending payments but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAYMANUALNOTDUE] manual pending payments before due date
[INVOICEPENDPAYMANUALNOTDUENUM] manual  pending payments before due date  but the value is displayed with a decimal point and no thousands separator (for calculation).
[INVOICEPENDPAYMANUALOVERDUE] manual  pending payments after due date
[INVOICEPENDPAYMANUALOVERDUENUM] manual  pending payments after due date  but the value is displayed with a decimal point and no thousands separator (for calculation)


[INVOICECREDITS] - invoice sum of all credit items (negative items)
[INVOICECREDITS] - invoice sum of all credit items (negative items)
Line 449: Line 1,217:
[INVOICEDEBITS:-100] - invoice sum of all debit items with offset
[INVOICEDEBITS:-100] - invoice sum of all debit items with offset


[INVOICEDEBITSNUM] - As per [INVOICEDEBITS] but the value is displayed with a decimal point and no thousands separator (for calculations) (for calculation)
[INVOICEDEBITSNUM] - As per [INVOICEDEBITS] but the value is displayed with a decimal point and no thousands separator (for calculations) (for calculations)


[INVOICEDEBITSNUM:] - As per [INVOICEDEBITS:] but the value is displayed with a decimal point and no thousands separator (for calculations).
[INVOICEDEBITSNUM:] - As per [INVOICEDEBITS:] but the value is displayed with a decimal point and no thousands separator (for calculations)


[INVOICEVAT] - invoice sum of all vat value
[INVOICEVAT] - invoice sum of all vat value
[INVOICEVATNUM] - invoice sum of all vat value for calculations)


[INVOICEFIRSTITEM]  - price of the item listed first in the invoice
[INVOICEFIRSTITEM]  - price of the item listed first in the invoice


[INVOICEFIRSTITEMNUM] - price of the item listed first in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)
[INVOICEFIRSTITEMNUM] - price of the item listed first in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)
[INVOICESECONDITEM]  - price of the item listed second in the invoice
[INVOICESECONDITEMNUM] - price of the item listed second in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)
[INVOICETHIRDITEM]  - price of the item listed third in the invoice
[INVOICETHIRDITEMNUM] - price of the item listed third in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)
[INVOICEFOURTHITEM]  - price of the item listed fourth in the invoice
[INVOICEFOURTHITEMNUM] - price of the item listed fourth in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)
[INVOICEFIFTHITEM]  - price of the item listed fifth in the invoice
[INVOICEFIFTHITEMNUM] - price of the item listed fifth in the invoice but the value is displayed with a decimal point and no thousands separator (for calculations)


[INVOICEUPSELL0] - base price without upsell items or other charges added later
[INVOICEUPSELL0] - base price without upsell items or other charges added later
Line 469: Line 1,255:
[INVOICEUPSELLQTY1] - quantity of upsell item 1 (number can be between 1 to 20)
[INVOICEUPSELLQTY1] - quantity of upsell item 1 (number can be between 1 to 20)


[INVOICEEXTRAITEM1] - value of extra invoice item 1 (number can be between 0 to 20)
[INVOICEUPSELLNAME1] - name of the headline field of upsell item 1 (number can be between 1 to 20)
 
[INVOICEEXTRAITEM1] - value of extra invoice item 1 (number can be between 0 to 20)
 
[INVOICEEXTRAITEMNUM1] - as per [INVOICEEXTRAITEM1] but the value is displayed with a decimal point and no thousands separator (for calculations).
 
[INVOICEEXTRAITEMQTY1] - quantity of extra invoice item 1 (number can be between 0 to 20)
 
[UPSELLTABLE] - table with all upsell items


[UPSELLTABLEVAT] - table with all upsell items with vat information and vat summary
[INVOICEUPSELLSTATUS1] - stautus of the headline field of upsell item 1 (number can be between 1 to 20)


[UPSELLTABLENOREFUND] - table with all upsell items except refundable items
[INVOICEUPSELLHEADLINE1] - headline (name and status if used of upsell item 1 (number can be between 1 to 20)


== Invoice Table ==
[INVOICEUPSELLDESCRIPTION1] - description of upsell item 1 (number can be between 1 to 20)
You have the option to create a custom invoice table. Available content variables are:


AMO - shows the net value (price x quantity)
[INVOICEUPSELLAMOUNTNUM1]  - amout of upsell item 1


CON - currency conversion. Example: CONEURUSD will convert the first currency (Euros) to the second currency (USD)


CUA - currency symbol showing after the numbers. Example: CUA€ will show € after the figures


CUB - currency symbol showing before the numbers. Example: CUB€ will show € before the figures


DEC - Decimal points. Example: DEC, will show a comma as decimal point. If nothing is set the system will use the default for the language
[INVOICEUPSELLTYPE1]  - type of upsell item 1


GRT - Grand Total
[INVOICEUPSELLPER1] - per of upsell item 1


INV - invoicee add the invoicee number at the end. Example: INV20 to show invoicee number 20
[INVOICEUPSELLPERIOD1]  - period of upsell item 1


LAN - language. Example LANDE will force the language to German


MUL - multiplier. Example: MUL1.2 will multiply all prices by 1.2
[INVOICEEXTRAITEMDESC1] - Name of extra invoice item 1 (number can be between 0 to 20)


DAT - adds a date column
[INVOICEEXTRAITEM1] - value of extra invoice item 1 (number can be between 0 to 20) Note: the order goes by the order in the dropdown list not by the order the items are entered.


PAY - shows payments
[INVOICEEXTRAITEM1] - value of extra invoice item 1 (number can be between 0 to 20) Note: the order goes by the order in the dropdown list not by the order the items are entered.


PRI - shows prices
[INVOICEEXTRAITEMNUM1] - as per [INVOICEEXTRAITEM1] but the value is displayed with a decimal point and no thousands separator (for calculations).


QTY - shows quantity
[INVOICEEXTRAITEMQTY1] - quantity of extra invoice item 1 (number can be between 0 to 20)  Note: the order goes by the order in the dropdown list not by the order the items are entered.


STA- shows staus
[INVOICEGROSS:1] - gross amount of the inserted VAT rate (number is the VAT rate), value is displayed with a decimal point and no thousands separator (for calculations)


THO - thousands separator. THO. will show a dot as thousand separator. If nothing is set the system will use the default for the language
INVOICEGROSSNUM:1] gross amount of the inserted VAT rate (number is the VAT rate)


TOT - shows total amounts
[INVOICENET:1] - net amount of the inserted VAT rate (number is the VAT rate)


VAA - shows VAT amounts
[INVOICENETNUM:1] - net amount of the inserted VAT rate (number is the VAT rate), value is displayed with a decimal point and no thousands separator (for calculations)


VAP - shows VAT percents
[INVOICEVAT:1] - VAT amount of the inserted VAT rate (number is the VAT rate)


VAT - VAT summary
[INVOICEVATNUM:1] VAT amount of the inserted VAT rate (number is the VAT rate), value is displayed with a decimal point and no thousands separator (for calculations)


Connect the variables with an underscore.
[INVOICEITEMBYDESC:Searchterm] -  searches the invoice for items with this search term and adds them up


Example:  
[INVOICEITEMBYDESCNUM:Searchterm] -  searches the invoice for items with  this search term and adds them up, value is displayed with a decimal point and no thousands separator (for calculations)


[INVOICE:PRI_QTY_CUA€] will create an invoice table with price and quantity in Euros.
[INVOICEPAYMENTBYDESC:Searchterm] -  searches the payments for items with this search term and adds them up


'''Template Variables for invoice tables with predefined content:'''
[INVOICEPAYMENTBYDESCNUM:Searchterm] -  searches the payments for items with  this search term and adds them up, value is displayed with a decimal point and no thousands separator (for calculations)


=== Invoice  Table ===
These template varibles will display an invoice table.
==== Standard Invoice Tables ====
[INVOICETABLE] - invoice table
[INVOICETABLE] - invoice table
[INVOICETABLEVAT] - invoice table with vat information and vat summary


[INVOICETABLE:$1.1$] - invoice table and currency multiplier with optional new currency symbol before or after price.
[INVOICETABLE:$1.1$] - invoice table and currency multiplier with optional new currency symbol before or after price.
Line 553: Line 1,331:


[INVOICETABLENOTOT2:$1.1$]  - invoice table with status field without grand total and currency multiplier with optional new currency symbol before or after price.
[INVOICETABLENOTOT2:$1.1$]  - invoice table with status field without grand total and currency multiplier with optional new currency symbol before or after price.
[INVOICETABLEVAT] - invoice table with vat information and vat summary


[INVOICETABLEVAT:$1.1$] - invoice table with vat information and currency multiplier with optional new currency symbol before or after price.
[INVOICETABLEVAT:$1.1$] - invoice table with vat information and currency multiplier with optional new currency symbol before or after price.
Line 589: Line 1,365:


[INVOICETABLEINVOICEE1234] - invoice table for a specific invoicee, specify the invoicee Id number.
[INVOICETABLEINVOICEE1234] - invoice table for a specific invoicee, specify the invoicee Id number.
[UPSELLTABLE] - table with all upsell items
[UPSELLTABLEVAT] - table with all upsell items with vat information and vat summary
[UPSELLTABLENOREFUND] - table with all upsell items except refundable items
==== Custom Invoice Table ====
You have the option to create a custom invoice table. Available content variables are:
AMO - shows the net value (price x quantity)
CEX - charges excluded (charges will not be shown)
CON - currency conversion. Example: CONEURUSD will convert the first currency (Euros) to the second currency (USD). CON1.234 would multiply the prices by 1.234
CUA - currency symbol showing after the numbers. Example: CUA€ will show € after the figures
CUB - currency symbol showing before the numbers. Example: CUB€ will show € before the figures
DAT - adds a date column - you have the option to control the format of the date using [[Template_Variables#Date_and_Time|date and time variables]] for example DAT{%d-%m-%Y}
DEC - Decimal points. Example: DEC, will show a comma as decimal point. If nothing is set the system will use the default for the language
DP0 - no decimal places
DP1 - 1  decimal place
DP2  - 2 decimal places
DP3 - 3 decimal places
DP4 - 4 decimal places
GAT -  sum for each column
GRP  -  Group Totals. Displays the same items as a total
GRT  - Grand Total
INV - invoicee, add the invoicee number at the end. Example: INV20 to show invoicee number 20, INV0 will show items not assigned to an invoicee, INV-1 will show all items from the booking regardless of invoicee. You can combine INV[BOOKINGINVOICEEID]] to add the invoicee from the booking
LAN - language. Example LANDE will force the language to German
MUL - multiplier. Example: MUL1.2 will multiply all prices by 1.2
NIN - do not show invoice number and invoice date on locked invoices
NOC - charges will not be displayed but their vat values are still calculated for the vat summary (VAT)
NOP - payments will not be displayed
ONE - shows only items from the specified booking (not the booking group)
ORB - order by booking, this keeps the items for each booking (room) together in the table
PAA - shows a column with payment amounts
PAY - shows payments
PEN - shows pending payments description
PPA - shows pending payments amount 
PRI - shows prices in a column
QTY - shows quantity
SEX - status excluded. Calculate the balance of all invoice items except for the ones with these status, the status items can be a comma separated list. Example:  SEX status1,status2,status4 will not show items with this status.
SIN - status included.  Calculate the balance of all invoice items with matching status, the status items can be a comma separated list. Example:  SIN status1,status2,status4 will only show items with this status.
STA- shows staus
THO - thousands separator. THO. will show a dot as thousand separator. If nothing is set the system will use the default for the language
TOT - shows total amounts
VAA - shows VAT amounts
VAP - shows VAT percents
VAT - VAT summary
Connect the variables with an underscore.
Examples:
[INVOICE:PRI_QTY_CUA€] will create an invoice table with price and quantity in Euros.
[INVOICE:PAY_TOT_CEX] will create an invoice table which will only show payments.
[INVOICE:PRI_QTY_CUA_TOT_VAT_QTY_PAY_GRT_AMO_VAA] will create an invoice table with more information.
[INVOICE:SIN TRANSPORT] will create an invoice table with the Invoice item description for any items with the Status = Transport.


== Invoicee Variables ==
== Invoicee Variables ==
Line 615: Line 1,487:
[INVOICEEPAYMENTSNUM1234] - invoice payments for invoice items assigned to invoicee 1234  (change 1234 to the required Invoicee Id number)
[INVOICEEPAYMENTSNUM1234] - invoice payments for invoice items assigned to invoicee 1234  (change 1234 to the required Invoicee Id number)


[INVOICEACCOUNTNAME] - name of the invoice account the invoice is assigned to or blank
[INVOICEENAME] - name of the invoicee account the invoice is assigned to or blank
 
[INVOICEECODE] - code of the invoicee account the invoice is assigned to or blank


[INVOICEACCOUNTCODE] - code of the invoice account the invoice is assigned to or blank
[INVOICEECURRENCY] - currency of the invoicee account the invoice is assigned to if it is not the property default or blank
 
[INVOICEENOTES] - value of the "Notes" field for the invoicee


[INVOICEETEMPLATE1] - template value 1 of the invoice account the invoice is assigned to or blank
[INVOICEETEMPLATE1] - template value 1 of the invoice account the invoice is assigned to or blank
Line 634: Line 1,510:


[INVOICEETEMPLATE8] - template value 8 of the invoice account the invoice is assigned to or blank
[INVOICEETEMPLATE8] - template value 8 of the invoice account the invoice is assigned to or blank
[INVOICEETEMPLATE1BR] - template value 1 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE2BR] - template value 2 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE3BR] - template value 3 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE4BR] - template value 4 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE5BR] - template value 5 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE6BR] - template value 6 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE7BR] - template value 7 of the invoice account the invoice is assigned to or blank with linkebreak
[INVOICEETEMPLATE8BR] - template value 8 of the invoice account the invoice is assigned to or blank with linkebreak


== Payment Request Variables ==
== Payment Request Variables ==
Line 653: Line 1,546:


[PAYBUTTON:200] - Creates a payment button for the payment request for a fixed amount.  
[PAYBUTTON:200] - Creates a payment button for the payment request for a fixed amount.  


[PAYPALURL] - Creates a Paypal payment url for the amount in the booking deposit field if non zero, otherwise the outstanding balance.
[PAYPALURL] - Creates a Paypal payment url for the amount in the booking deposit field if non zero, otherwise the outstanding balance.
Line 673: Line 1,565:
[PAYPALBUTTON:200] - Creates a Paypal payment button for a fixed amount. A zero amount will cause paypal to provide a field to enter an amount. Not recommended for emails.
[PAYPALBUTTON:200] - Creates a Paypal payment button for a fixed amount. A zero amount will cause paypal to provide a field to enter an amount. Not recommended for emails.


Add a H to exclude a gateway from displaying. Example: [PAYURL:200:HST] will hide Stripe


== Math Variables ==
== Text Operators ==


Place math variables between two numbers. Math variables can operate on template variables that return a number
[REPLACE|searchForThisText|replaceWithThisText|textToSearch] - replace "searchForThisText" with "replaceWithThisText" within the text "textToSearch"


[+] - will add the two numbers either side of the template variable


[-] - will subtract the number right of the template variable from the number left
[SUBSTR|startCharacterNumber|numberOfCharacters|textToGetSubstringFrom] - get a sub string from "textToGetSubstringFrom" starting at character "startCharacterNumber" (integer, 0 is the first char) with a length of "numberOfCharacters" (integer)


[*] - will multiply the two numbers either side of the template variable


[/] - will divide the number left of the template variable by the number right
1. [SUBSTR|0|4|[GUESTPHONENUM]]


[MIN] - will show the lowest of the numbers left and right  of the template variable
This will test for the first 4 characters of the Guest phone number.


[MAX] - will show the highest of the numbers left and right  of the template variable


[TRIM|  string to trim  ] - remove whitespace from the start and end of "  string to trim  "


[*.0] - will multiply the two numbers either side of the template variable and round to the nearest integer
== iCal Links ==
These template variables will create iCal links which allow the booking to be added to a calendar.


[*.1] - will multiply the two numbers either side of the template variable and round to 1 decimal place
[ICALURL] - Calendar link


[*.2] - will multiply the two numbers either side of the template variable and round to 2 decimal places
[ICALURL:16] - Calendar link with check-in hour. Replace '16' with the hour check-in starts.


[*.3] - will multiply the two numbers either side of the template variable and round to 3 decimal places
[ICALURL::10] - Calendar link with check-out hour. Replace '10' with the hour with the hour check-out ends.


[*.4] - will multiply the two numbers either side of the template variable and round to 4 decimal places
[ICALURL:::summary text] - Calendar link with a summary text


[ICALURL::::description text] - Calendar link with a descriptive text


[/.0] - will divide the number left of the template variable by the number right and round to the nearest integer
Example:


[/.1] - will divide the number left of the template variable by the number right and round to 1 decimal place
Calendar link with check-in time 16:00, check-out time 10:00, the summary text "Booking" and the description text "Sunny Hotel":


[/.2] - will divide the number left of the template variable by the number right and round to 2 decimal places
[ICALURL:16:10:Booking:Sunny Hotel]


[/.3] - will divide the number left of the template variable by the number right and round to 3 decimal places
== Mathematical Operators ==


[/.4] - will divide the number left of the template variable by the number right and round to 4 decimal places
Place mathematical operators between two numbers <b>or between two template variables</b> that return a number.


[+] - Example: 2 [+] 3 = 5


[+.0] - will add the two numbers either side of the template variable and round to the nearest integer
[-] - Example: 5 [-] 1 = 4


[+.1] - will add the two numbers either side of the template variable and round to 1 decimal place
[*] - Example: 3 [*] 4 = 12


[+.2] - will add the two numbers either side of the template variable and round to 2 decimal places
[/] - Example: 15 [/] 5 = 3


[+.3] - will add the two numbers either side of the template variable and round to 3 decimal places
[MIN] - Example: 2 [MIN] 3 = 2


[+.4] - will add the two numbers either side of the template variable and round to 4 decimal places
[MAX] - Example: 2 [MAX] 3 = 3


Brackets are not supported as a way to control processing order, the processing order is fixed as *, /, +, -, MIN, MAX


[-.0] - will subtract the number right of the template variable from the number left and round to the nearest integer
If you want to use * and - in the same calculation, for example you need 20% of the result, then you will need to use the calculation below as a * calculation will be calculated first.


[-.1] - will subtract the number right of the template variable from the number left and round to 1 decimal place
[INVOICECHARGESNUM][*]0.2[-][INVOICESECONDITEMNUM][*]0.2[-][COMMISSIONNUM][*]0.2


[-.2] - will subtract the number right of the template variable from the number left and round to 2 decimal places
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> Property Template 1-8 and Room Template 1-8 can be used to set calculations. If using Room Templates to make a calculation, then use Room Template 8 before Room Template 7.


[-.3] - will subtract the number right of the template variable from the number left and round to 3 decimal places
If you want to see the value 10.
Set Room template 6 = [ROOMTEMPLATE7][+][ROOMTEMPLATE8] and enter 4 in Room template 7 and 6 in Room template 8.


[-.4] - will subtract the number right of the template variable from the number left and round to 4 decimal places
You can set a calculation in Room Templates to show in Property Templates, but not the other way around. So "Property Template1" could pull the calculation of [ROOMTEMPLATE6] and the result = 10.




[MIN.0] - will show the lowest of the numbers left and right  of the template variable and round to the nearest integer
=== Rounding and controlling decimal places ===


[MIN.1] - will show the lowest of the numbers left and right  of the template variable and round to 1 decimal place
==== Default ====


[MIN.2] - will show the lowest of the numbers left and right  of the template variable and round to 2 decimal places
2 [/] 3 = 0.66666666666667


[MIN.3] - will show the lowest of the numbers left and right  of the template variable and round to 3 decimal places
==== Rounding to the nearest integer ====


[MIN.4] - will show the lowest of the numbers left and right  of the template variable and round to 4 decimal places
2 [/.0] 3 = 1


==== Rounding to 1,2,3 or 4 decimal place(s) ====


[MAX.0] - will show the highest of the numbers left and right  of the template variable and round to the nearest integer
2 [/.1] 3 = 0.7


[MAX.1] - will show the highest of the numbers left and right  of the template variable and round to 1 decimal place
2 [/.2] 3 = 0.67


[MAX.2] - will show the highest of the numbers left and right  of the template variable and round to 2 decimal places
2 [/.3] 3 = 0.667


[MAX.3] - will show the highest of the numbers left and right  of the template variable and round to 3 decimal places
2 [/.4] 3 = 0.6667


[MAX.4] - will show the highest of the numbers left and right  of the template variable and round to 4 decimal places


<b>This works on all operators including [MIN] and [MAX]</b>


 
  Note: Always use the template variables ending with NUM. The math functions will only work with numbers with a decimal point (not a decimal comma) and no thousands separator and no currency symbol.
  Note: The math functions will only work with numbers with a decimal point and no thousands separator and no currency symbol.


== Currency Conversion ==
== Currency Conversion ==
Line 768: Line 1,664:
If you use the multiplier to convert currencies for channels:  For example hotel id 123456 and a multiplier to convert USD to EUR at todays rate:
If you use the multiplier to convert currencies for channels:  For example hotel id 123456 and a multiplier to convert USD to EUR at todays rate:


123456*[CONVERT:USD-EUR]*
123456*[CONVERT:USD-EUR]* then addition of the * at the end will convert the value back to USD when the booking is imported


or this to convert EUR to USD
or this to convert EUR to USD
Line 774: Line 1,670:
123456*[CONVERT:EUR-USD]
123456*[CONVERT:EUR-USD]


== Custom Date Format Variables ==
123456*[CONVERT:USD-EUR][/]0.85 will convert to Euros and divides the price by 0.85 which raises it by circa 15%
You can use  PHP strftime format strings to create custom time formats.  Information on PHP strftime strings is available at [http://php.net/manual/en/function.strftime.php]


[FIRSTNIGHT:{%A, %e %B, %Y}] -  first night booked
==Account Variables (account of the booking) ==
 
[FIRSTNIGHT:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
 
[LASTNIGHT:{%A, %e %B, %Y}] -  last night booked
 
[LASTNIGHT:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
 
[LEAVINGDAY:{%A, %e %B, %Y}] -  check-out


[LEAVINGDAY:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
[ACCOUNTUSERNAME] - Username of the account owning the booking


[CURRENTDATE:{%A, %e %B, %Y}] - current date
[LOGGEDINACCOUNTUSERNAME] - Username of the person logged in
 
[CURRENTDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
 
[BOOKINGDATE:{%A, %e %B, %Y}] - booking date
 
[BOOKINGDATE:+1day{%A, %e %B, %Y}] - optional date offset and display format. The offset can be any plus or minus any number of days and the display can be any valid PHP strftime format string.
 
==Account Variables (account of the booking) ==


[ACCOUNTID] - account id of the booked property
[ACCOUNTID] - account id of the booked property
Line 808: Line 1,687:


[ACCOUNTTEMPLATE4] - Account Template 4  
[ACCOUNTTEMPLATE4] - Account Template 4  
[COMMISSIONLIMIT] - shows the available commission amount for the owner account of the booking


[MASTERACCOUNTTEMPLATE1] - Account Template 1 from master account
[MASTERACCOUNTTEMPLATE1] - Account Template 1 from master account
Line 817: Line 1,698:
[MASTERACCOUNTTEMPLATE4] - Account Template 4 from master account
[MASTERACCOUNTTEMPLATE4] - Account Template 4 from master account


==Account Variables (logged in account, only for display in control panel, not for auto actions or emails etc.) ==
==Account Variables (logged in account, only for display in control panel , not for auto actions or emails etc.) ==
These variables can for example used by resellers who added a custom tab to the bookings.


[LOGGEDINACCOUNTID] - account id of the logged in user
[LOGGEDINACCOUNTID] - account id of the logged in user
Line 838: Line 1,720:


[MASTERLOGGEDINACCOUNTTEMPLATE4] - Account Template 4 from master account
[MASTERLOGGEDINACCOUNTTEMPLATE4] - Account Template 4 from master account
== Smart Logic Template Variables ==
IF style template variables will compare two values and display a text if the comparison is true and an alternative text if the comparison is false.
Colons : are used between the two comparison values and the first text, a pipe | is used between the two texts.
Empty text is allowed if you do not want to display anything for a condition.
[IF=:if this:equals this:display this text|otherwise display this text]
[IFIN:if this:is contained in this:display this text|otherwise display this text]
[IFLIKE:if this:is like this:display this text|otherwise display this text]
[IF>:if this:is greater than this:display this text|otherwise display this text]
[IF>=:if this:is greater than or equal to this:display this text|otherwise display this text]
[IF<:if this:is less than this:display this text|otherwise display this text]
[IF<=:if this:is less than or equal to this:display this text|otherwise display this text]
[IFBETWEEN:if this:is between this:and this:display this text|if it is lower display this text|if it is higher display this text]
You can use IF variables inside other IF variables to create complex logic but the internal IF: must be processed before the external IF
There are special versions of each IF constructed with ^ and ~ separators like [IF=^this^this^same~different]
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span>Only one IF of each type can be used to create complex logic.
The special versions are processed first so should be used as the internal IF so it's result can be processed by the outer if.
The special versions can also be used if you expect : or | characters within your data.
IF's are processed in the following order.
i.e. all the [IF=^ will be processed first, then all the [IFIN^ etc.
[IF=^
[IFIN^
[IFLIKE^
[IF>^
[IF>=^
[IF<^
[IF<=^
[IFBETWEEN^
[IF=:
[IFIN:
[IFLIKE:
[IF>:
[IF>=:
[IF<:
[IF<=:
[IFBETWEEN:
=== Examples ===
Template variables can be used inside this template variable as per the examples <span style="color: #019cde">comparison in blue</span>, <span style="color: #75d5ad">positive result in green</span>, <span style="color: #fe746c">negative result in red</span>:
1. [<span style="color: #019cde">IF=:[GUESTNAME]</span><span style="color: #75d5ad">:Miller</span><span style="color: #75d5ad"><span style="color: #75d5ad">:yes</span> <span style="color: #fe746c">|no</span>]
If the guestname is Miller the text "yes" will display. If the guest name is not Miller the text "no" will display
2.[<span style="color: #019cde"> IF>:[NUMADULT]:2</span><span style="color: #75d5ad">:please contact us about you bedding requirements|</span>]
If the number of adults is higher than 2 the text"please contact us about you bedding requirements" will display. If the number of adults is lower than or equal 2 nothing will display.
3. [<span style="color: #019cde">IF<:[NUMADULT]:3</span><span style="color: #75d5ad">:|linen for two adults is included free of charge</span>]
If the number of adults is lower than 3 nothing will display. If the number of adults is  not lower than 3 the text "linen for two adults is included free of charge" will display.
4. [<span style="color: #019cde">IF<=:[NUMADULT]:2</span><span style="color: #75d5ad">:yes</span><span style="color: #fe746c">|no</span>]
5. [<span style="color: #019cde">IF>=:[NUMADULT]:2</span><span style="color: #75d5ad">:yes</span><span style="color: #fe746c">|no</span>]
6. [<span style="color: #019cde">IFBETWEEN:[NUMADULT]:1:3</span><span style="color: #75d5ad">:yes</span><span style="color: #fe746c">|too low|too high</span>]
7. [<span style="color: #019cde">IFLIKE:[GUESTTITLE]</span><span style="color: #75d5ad">:Mr:Dear</span><span style="color: #fe746c">|Hi</span>]
IFLIKE works like IF= except it is case insensitive and removes any spaces from the start and end of the words
8. [<span style="color: #019cde">IFIN:John:[GUESTFIRSTNAME]</span><span style="color: #75d5ad">:Hi John</span><span style="color: #fe746c">|Your name does not contain John?</span>]
If the first word is contained in the second word the first option is displayed, otherwise the second option is displayed
9. [<span style="color: #019cde">IFIN:CHECKIN:[BOOKINGINFOITEMS]</span><span style="color: #75d5ad">:[BOOKINGINFOCODETEXT:CHECKIN]</span><span style="color: #fe746c">|</span>]
If the Booking Info Code CHECKIN has been added to the booking then you will see the value in the text (date/time) otherwise blank.
Using multiple IF statements to display special messages :-
10. [<span style="color: #019cde">IFIN:DEPOSIT:[BOOKINGINFOCODES]:|[IF=:[GUESTCOUNTRY2]:AU</span><span style="color: #75d5ad">:Credit card details are required </span><span style="color: #fe746c">|A deposit is required]|No deposit is required</span>]
You want  to display a special message to Australians if the booking has a DEPOSIT info item code, if a deposit is required from a non Australia they get "A deposit is required" and if no deposit is required they see "No deposit is required"
11. [<span style="color: #019cde">IF<:[INADVANCE]:|[IFIN:TRANSFER:[BOOKINGINFOCODES]:3</span><span style="color: #75d5ad">:Payment Due Date: ASAP </span><span style="color: #fe746c">|Payment Due Date: [FIRSTNIGHT:- 30days]]|</span>]
You want display a special message to your guests 3 days before checkin with a Booking Info Code = TRANSFER.
12. [<span style="color: #019cde">IF=:[STATUS]:Confirmed:PAID|[IF<^[INADVANCE]^30</span><span style="color: #75d5ad">^Payment Due Date: As soon as possible</span><span style="color: #fe746c">~Payment Due Date: [FIRSTNIGHT:- 30 days]]</span>]
You want to display a special message for your guests for any bookings with Status not = Confirmed, and if the checkin date is more than 30 days in advance, then send the message with "Payment Due Date : "or that the "Payment is due As soon as possible".
13. [<span style="color: #019cde">IFBETWEEN:[TURNOVERDAYS]:0:3:</span><span style="color: #75d5ad">yes|</span><span style="color: #fe746c">no</span>]
You want to test if the days until next arrival into the same unit is between 0 and 3 days. Could be used for offering Late Checkouts or additional days to the guest where there is a gap between bookings.
14. [<span style="color: #019cde">IF>:[VACANTDAYS]:1:</span><span style="color: #75d5ad">yes|</span><span style="color: #fe746c">no</span>]
You want to test if there is 1 day from the previous checkout to check in of current booking. Could be used for offering Early Checkouts or additional days to the guest where there is a gap between bookings.
15. [<span style="color: #019cde">IF=:[LEAVINGDAY:{%a}]:Sun:|[IF>=^[TURNOVERDAYS]^1</span><span style="color: #75d5ad">^yes</span><span style="color: #fe746c">~no]</span>]
You want to test if the leaving date is a Sunday and it there is a gap for 1 or more days between the current booking and the next booking.
16. [<span style="color: #019cde">IF=:[LEAVINGDAY:{%u}]:1:yes|[IF=^[LEAVINGDAY:{%u}]^3</span><span style="color: #75d5ad">^yes</span><span style="color: #fe746c">]</span>]
You want to test if the leaving date is a Monday or a Wednesday to send a specific message to the guest, for example a reminder that it is bin collection day.
17. [<span style="color: #019cde">IF=:[LEAVINGDAY:{%u}]:1:yes|[IF=^[LEAVINGDAY:{%u}]^3^yes][IF=^[LEAVINGDAY:{%u}]^6</span><span style="color: #75d5ad">^yes</span><span style="color: #fe746c">]</span>]
You have different cleaning teams for different days of the week, and you want to send a message to the appropriate team if leaving date is a Monday, Wednesday or Saturday.
18. [<span style="color: #019cde">IF<^[AUTHORIZEUNTIL{%Y-%m-%d}]^[CURRENTDATEYYYY-MM-DD]^yes~</span><span style="color: #75d5ad">no</span><span style="color: #fe746c"></span>]
You need to test if the Stripe authorisation has expired before the end of the booking. Then you want to automate the authorisation again . You will require multiple auto actions based on the min/max stay.
== Write out the number in Words. ==
[INWORDS]  - writes out a number in words. This works in English only.
Expamles:
[INWORDS] 10 will write "ten"
[INWORDS] [INVOICEPAYMENTSNUM] will write out the invoice sum of all payments
[INWORDS] [INVOICEPAYMENTSNUM] [+] 10 will write out the invoice sum of all payments plus 10
== Encoding Template Variables ==
[ENCODEURL:value] encode value for URL data format
[ENCODEJSON:value] encode value for JSON data format
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span>  Always use the template variables ending with NUM if numbers are involved. The math functions will only work with numbers with a decimal point (not a decimal comma) and no thousands separator and no currency symbol.
== Using Template Variables in a HTML editor ==
When using template variables that render tables, such as [INVOICETABLE], do not place them inside <nowiki><p></nowiki> (paragraph) tags. Doing so can lead to formatting issues that affect the table’s appearance.
We recommend inserting the template variable as usual, then clicking the </> Code view button in the editor's toolbar. Then in the code view, locate the template variable and move it outside any surrounding <nowiki><p></nowiki> tags.
For example, if you have this in the editor:
<code>[INVOICETABLE]</code>
You can click the <code>&lt;/&gt;</code> button to see this:
<code>&lt;p&gt;[INVOICETABLE]&lt;/p&gt;</code>
You can fix the formatting issues by changing it to this:
<code>&lt;p&gt;&lt;/p&gt;[INVOICETABLE]</code>