Difference between revisions of "Template Variables"

From Beds24 Wiki
Jump to navigation Jump to search
(56 intermediate revisions by 4 users not shown)
Line 214: Line 214:
 
[ROOMTEMPLATE8BR] - ROOM  Template 8  with linkbreak
 
[ROOMTEMPLATE8BR] - ROOM  Template 8  with linkbreak
  
[ROOMMETAAUXTEXT] - room meta text setting for first booked room
+
[ROOMMETAAUXTEXT] - room auxiliary text setting for first booked room {{#fas:cog}} (SETTINGS) PROPERTIES > ROOMS > SETUP > DISPLAY
  
[ROOMMETAAUXTEXTS] - room meta text setting for all booked rooms
+
[ROOMMETAAUXTEXTS] - room auxiliary text setting for all booked rooms  
  
[ROOMMETAAUXTEXTSINC] - 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 boked offer
+
[OFFERID]  - ID of the booked offer
  
 
[OFFERNAME] - booked offer name for all booked rooms
 
[OFFERNAME] - booked offer name for all booked rooms
Line 246: Line 246:
 
[OFFERSUMMARYINC] - summary offers including cancelled bookings
 
[OFFERSUMMARYINC] - summary offers including cancelled bookings
  
[UNITID] - ID of the unit (number)
+
[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)
 
[UNITNAME] - unit names of all the assigned room types in the booking group (cancelled bookings are not shown)
Line 267: Line 267:
  
 
[LEAVINGDAYAVAIL] - returns yes or no, can be used to trigger an Auto Action
 
[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
 
[ROOMRACKRATENUM] - Rack Rate from {{#fas:cog}} (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT
Line 325: Line 327:
 
[RANDOM8] - a 8 digit random number seeded from the booking number
 
[RANDOM8] - a 8 digit random number seeded from the booking number
  
[VOUCHERPHRASE1] - Voucher Phrase - change the nubmer to the voucher  you want to print out.
+
[VOUCHERPHRASE1] - Voucher Phrase - change the number to the voucher  you want to print out.
  
[VOUCHERAMOUNT1]  - Voucher Amount - change the nubmer 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 ===
 
=== Content from "Info" tab ===
Line 438: Line 440:
  
 
[GUESTMOBILENUM] - guests mobile number with all non-numeric characters removed
 
[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
 
[PHONELAST1]  - last digit of the guests phone number if guest phone is empty it will use the guests mobile number
Line 556: Line 570:
 
[APISOURCETEXT] - human readable name of the channel
 
[APISOURCETEXT] - human readable name of the channel
  
[BOOKINGDATE] - booking date
+
[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
+
[BOOKINGTIMEDATE] - booking date and time in guests language
  
 
[BOOKINGDATEYYYY-MM-DD] - booking date in YYYY-MM-DD format
 
[BOOKINGDATEYYYY-MM-DD] - booking date in YYYY-MM-DD format
  
[BOOKINGIP] - ip address of booker's computer
+
see date and time variables below for custom time formats.
 
 
[APIMESSAGE] - api message sent by originating channel
 
  
 
=== Content from "Charges and Payments" tab (also see "Invoice/Invoicee/Room") ===
 
=== Content from "Charges and Payments" tab (also see "Invoice/Invoicee/Room") ===
Line 637: Line 653:
 
[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)
  
[COMMISSIONGROUP]  - Value of the commission of the complete group booking
+
[COMMISSIONGROUP]  - Value of the commission of the complete group booking with currency symbol
 +
 
 +
[COMMISSIONGROUPNUM]  - As per [COMMISSIONGROUP] but the value is displayed with a decimal point and no thousands separator and no currency symbols (for calculation)
  
 
[GUESTVOUCHER] - voucher code used with booking
 
[GUESTVOUCHER] - voucher code used with booking
Line 684: Line 702:
  
 
[GUESTSADDRESSSBR1INC] - address of the first guest on the "guests" tab of this booking group incl. cancelled
 
[GUESTSADDRESSSBR1INC] - address of the first guest on the "guests" tab of this booking group incl. cancelled
 +
 +
[GUESTSAFULLADDRESSSBR1INC] - the first address including city, postcode, sate and country from the guests tab of the booking including cancelled bookings in international  format
 +
 +
[GUESTSAFULLADDRESSSBR1] - the first address including city, postcode, sate and country from the guests tab of the booking in International format
 +
 +
[GUESTSBFULLADDRESSSBR1INC]  - the first address including city, postcode, sate and country from the guests tab of the booking including cancelled bookings in  European format
 +
 +
[GUESTSBFULLADDRESSSBR1]  - the first address including city, postcode, sate and country from the guests tab of the booking in European format
  
 
[GUESTSNUMBOOKINGS1] - the total number of bookings made by the first guest, a group booking counts as one booking.
 
[GUESTSNUMBOOKINGS1] - the total number of bookings made by the first guest, a group booking counts as one booking.
Line 732: Line 758:
 
[CANCELLEDTIME] - date when the booking was cancelled  
 
[CANCELLEDTIME] - date when the booking was cancelled  
  
[CANCELLEDTIME:] - date when the booking was cancelled display can be any valid PHP strftime format string  
+
[CANCELLEDTIME:{%A, %e %B, %Y}] - date when the booking was cancelled display can be any valid PHP strftime format string  
  
 
[CANCELURL] - URL to view and cancel bookings  
 
[CANCELURL] - URL to view and cancel bookings  
Line 746: Line 772:
 
[GUESTLOGIN] - URL to view bookings
 
[GUESTLOGIN] - URL to view bookings
  
[TURNOVERDAYS] - days until next arrival into the same unit
+
[TURNOVERDAYS] - days until next arrival into the same unit not considering black bookings
  
[VACANTDAYS]  days from previous checkout to check in of current booking
+
[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==
 
==Date and Time==
Many date template variables support PHP strftime format strings between {} brackets to create custom date formats. Information on PHP strftime strings is available at [http://php.net/manual/en/function.strftime.php http://php.net/manual/en/function.strftime.php]
 
 
  
 
[CURRENTDATE] - current date
 
[CURRENTDATE] - current date
Line 760: Line 788:
 
[CURRENTDATE:{%A, %e %B, %Y}] - current date
 
[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 any valid PHP strftime format string.
+
[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 and the display can be any valid PHP strftime format string.
 
[CURRENTTIME] - current time and the display can be any valid PHP strftime format string.
  
[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 any valid PHP strftime format string.
+
[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
 
[DAYSTOCHECKIN] -  number of days until check-in
Line 776: Line 804:
 
[FIRSTNIGHT:{%A, %e %B, %Y}] -  first night booked
 
[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 any valid PHP strftime format string.
+
[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:{%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.
+
[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:{%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.
+
[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:{%A, %e %B, %Y}] - booking date
 
[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.
+
[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.
  
 
[MODIFYDATE:{%A, %e %B, %Y}] - last booking modification date/time, the display can be any valid PHP strftime format string.
 
[MODIFYDATE:{%A, %e %B, %Y}] - last booking modification date/time, the display can be any valid PHP strftime format string.
Line 794: Line 822:
 
[PAYMENTDATE:{%A, %e %B, %Y}] - most recent payment date
 
[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 any valid PHP strftime format string. The second parameter specifies the payment to show, 0 or missing means the most recent payment. The third parameter specifies the invoicee.
+
[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.
  
[FORMATDATE:[any template variable that creates a date]{%A, %e %B, %Y}] - format the date in the strftime format. The date value could be included by inserting a different template variable containing a date.
+
[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
 +
%j Day of the year, 3 digits with leading zeros 001 to 366
 +
%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)
 +
%U Week number of the given year, starting with the first Sunday as the first week 13 (for the 13th full week of the year)
 +
%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)
 +
%W A numeric representation of the week of the year, starting with the first Monday as the first week 46 (for the 46th week of the year beginning with a Monday)
 +
%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)
 +
%C Two digit representation of the century (year divided by 100, truncated to an integer) 19 for the 20th Century
 +
%g Two digit representation of the year going by ISO-8601:1988 standards (see %V) Example: 09 for the week of January 6, 2009
 +
%G The full four-digit version of %g Example: 2008 for the week of January 3, 2009
 +
%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
 +
%k Hour in 24-hour format, with a space preceding single digits 0 through 23
 +
%I Two digit representation of the hour in 12-hour format 01 through 12
 +
%l      (lower-case 'L') Hour in 12-hour format, with a space preceding single digits 1 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 "%I:%M:%S %p" Example: 09:34:17 PM for 21:34:17
 +
%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
 +
%T Same as "%H:%M:%S" Example: 21:34:17 for 09:34:17 PM
 +
%X Preferred time representation based on locale, without the date Example: 03:59:16 or 15:59:16
 +
%z The time zone offset. Example: -0500 for US Eastern Time
 +
%Z The time zone abbreviation. Example: EST for Eastern Time
 +
%c Preferred date and time stamp based on locale Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM
 +
%D Same as "%m/%d/%y" Example: 02/05/09 for February 5, 2009
 +
%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
 +
%x Preferred date representation based on locale, without the time Example: 02/05/09 for February 5, 2009
 +
%n A newline character ("\n")
 +
%t A Tab character ("\t")
 +
%% A literal percentage character ("%")
  
 
== Booking Group variables ==
 
== Booking Group variables ==
Line 818: Line 895:
 
BREF = Booking number
 
BREF = Booking number
  
CITY = Booking city
+
BRL1 = Last digit of booking number
  
CHAC = Charges with currency symbol
+
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
 
CHAR = Charges
Line 879: Line 968:
  
 
NOTE = Booking note
 
NOTE = Booking note
 +
 +
NUMN = Number of nights booked
  
 
ONAM = Offer Name  
 
ONAM = Offer Name  
Line 885: Line 976:
  
 
PAIC = Payment amount with currency symbol
 
PAIC = Payment amount with currency symbol
 +
 +
PADD = Property Address
  
 
PAID = Paid amount
 
PAID = Paid amount
 +
 +
PCIT = Property City
  
 
PEOP = Number of guests
 
PEOP = Number of guests
Line 909: Line 1,004:
  
 
STUS = Status
 
STUS = Status
 +
 +
TEXT = Prints a plain text table instead of HTML
  
 
TOTA = Total price
 
TOTA = Total price
Line 958: Line 1,055:
 
[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.  
 
[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+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 and the display can be any valid PHP strftime format string.  
+
[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 and the display can be any valid PHP strftime format string.  
  
 
=== Invoice Values ===
 
=== Invoice Values ===
Line 964: Line 1,061:
  
 
==== Custom Invoice Values====
 
==== Custom Invoice Values====
You have the option to create a custom invoice variable to display a value from an invoice. Available content variables are:  
+
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
 
CHA - charges
Line 982: Line 1,079:
 
DP4 - 4 decimal places  
 
DP4 - 4 decimal places  
  
DESsome description - sum of values with "some description"
+
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  
 
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  
Line 1,382: Line 1,479:
  
 
[INVOICE:PRI_QTY_CUA_TOT_VAT_QTY_PAY_GRT_AMO_VAA] will create an invoice table with more information.
 
[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 1,413: Line 1,512:
  
 
[INVOICEECURRENCY] - currency of the invoicee account the invoice is assigned to if it is not the property default 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 1,489: Line 1,590:
  
 
[REPLACE|searchForThisText|replaceWithThisText|textToSearch] - replace "searchForThisText" with "replaceWithThisText" within the text "textToSearch"
 
[REPLACE|searchForThisText|replaceWithThisText|textToSearch] - replace "searchForThisText" with "replaceWithThisText" within the text "textToSearch"
 +
  
 
[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)
 
[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)
 +
 +
 +
1. [SUBSTR|0|4|[GUESTPHONENUM]]
 +
 +
This will test for the first 4 characters of the Guest phone number.
 +
  
 
[TRIM|  string to trim  ] - remove whitespace from the start and end of "  string to trim  "
 
[TRIM|  string to trim  ] - remove whitespace from the start and end of "  string to trim  "
Line 1,534: Line 1,642:
  
 
[INVOICECHARGESNUM][*]0.2[-][INVOICESECONDITEMNUM][*]0.2[-][COMMISSIONNUM][*]0.2
 
[INVOICECHARGESNUM][*]0.2[-][INVOICESECONDITEMNUM][*]0.2[-][COMMISSIONNUM][*]0.2
 +
 +
<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.
 +
 +
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.
 +
 +
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.
 +
  
 
=== Rounding and controlling decimal places ===
 
=== Rounding and controlling decimal places ===
Line 1,649: Line 1,765:
  
 
You can use IF variables inside other IF variables to create complex logic but the internal IF: must be processed before the external IF
 
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]
 
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 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.
 
The special versions can also be used if you expect : or | characters within your data.
 +
 +
  
 
IF's are processed in the following order.
 
IF's are processed in the following order.
Line 1,696: Line 1,819:
 
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>]
 
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|Hi</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
 
IFLIKE works like IF= except it is case insensitive and removes any spaces from the start and end of the words
Line 1,722: Line 1,845:
 
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".
 
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/span><span style="color: #75d5ad">:3:yes|</span><span style="color: #fe746c">no</span>]  
+
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 want to test if the days between the current booking and next booking is between 0 and 3 days.
+
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.
  
 
== Write out the number in Words. ==
 
== Write out the number in Words. ==
Line 1,732: Line 1,871:
 
Expamles:  
 
Expamles:  
  
[INWORDS] 10 will write out then
+
[INWORDS] 10 will write "ten"
  
 
[INWORDS] [INVOICEPAYMENTSNUM] will write out the invoice sum of all payments  
 
[INWORDS] [INVOICEPAYMENTSNUM] will write out the invoice sum of all payments  
Line 1,745: Line 1,884:
  
  
Note: 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.
+
<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.

Revision as of 10:12, 13 April 2024

Template variables
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.

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

The price variables can have an optional offset value applied which can be a percentage or fixed amount with or without minus sign added after a colon, for example [PRICE:-10] or [INVOICEBALANCE:25%]


1 Property Variables

[PROPERTYNAME] - property name

[PROPERTYADDRESS] - property address

[PROPERTYCITY] - property city

[PROPERTYSTATE] - property state

[PROPERTYCOUNTRY] - property country

[PROPERTYEMAIL] - property email

[PROPERTYWEB] - property web site

[PROPERTYPHONE] - property phone

[PROPERTYFAX] - property fax

[PROPERTYCONTACTLASTNAME] - property contact last name

[PROPERTYCONTACTFIRSTNAME] - property contact first name

[PROPERTYID] - property id number

[PROPERTYPOSTCODE] - property post code

[PROPERTYCURRENCY] - property currency code

[PROPERTYCURRENCYFRONT] - property currency symbol before number

[PROPERTYCURRENCYBACK] - property currency symbol after number

[PROPERTYLATITUDE] - property latitude

[PROPERTYLONGITUDE] - property longitude

[PROPERTYLOCATIONDESCRIPTION] - property location description

[PROPERTYLOCATIONDESCRIPTIONBR] - property location description with line break

[PROPERTYDIRECTIONS] - property directions from ( (SETTINGS) CHANNEL MANNAGER > PROPERTY CONTENT)

[PROPERTYHEADLINE] - property headline

[PROPERTYDESCRIPTION] - property description

[PROPERTYGENERALPOLICY] - property rental policy

[PROPERTYGENERALPOLICYBR] - property rental policy with line break

[PROPERTYLEGALPOLICY] - property rental policy / obsolete

[PROPERTYCANCELPOLICY] - property cancellation policy

[PROPERTYCANCELPOLICYBR] - property cancellation policy with line breaks

[PROPERTYHOUSERULES] - property house rules ( (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT)

[PROPERTYHOUSERULESBR] - property house rules ( (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT) with line break


[PROPERTYTEMPLATE1] - Property Template 1

[PROPERTYTEMPLATE2] - Property Template 2

[PROPERTYTEMPLATE3] - Property Template 3

[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

[EXPEDIACOMHOTELID] - expedia.com hotel id

[PERMITID] - the permit ID

[CHECKINSTART] - check-in start time in 24hr format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in start')

[CHECKINEND] - check-in end time in 24hr format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in end')

[CHECKOUTEND] - check-out end time in 24hr format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-out end')

[CHECKINSTART12] - check-in start time in am/pm format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in start')

[CHECKINEND12] - check-in end time in am/pm format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-in end')

[CHECKOUTEND12] - check-out end time in am/pm format (From (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT 'Check-out end')

[PROPERTYDESCRIPTION1] - Property Description 1 from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYDESCRIPTION2] - Property Description 2 from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYDESCBOOKPAGE1] - Property Description Booking Page 1 from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYDESCBOOKPAGE2] - Property Description Booking Page 1 from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYGUESTDETAILSHEADER] - Guest Details Header from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYGUESTENQUIRYHEADER] - Guest Enquiry Header from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYCONFIRMBOOKBUTTON] - Confirm Booking Button Message from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYROOMNOTAVAIL] - Room Not Available Message from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYROOMNOPRICE] - Room No Price Message from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYNOROOMSAVAIL] - No Rooms Available Message from (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > CONTENT

[PROPERTYGROUP] - shows the group keywords

2 Room Variables

[ROOMID] - room id number

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

[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

[ROOMNAMES] - room names including quantity of each booked room

[ROOMNAMESNC] - room names including quantity of each booked room without cancelled rooms

[ROOMNAMESBR] - room names with line break

[ROOMNAMESNCBR] room names with line break without cancelled rooms

[ROOMNAMEOFFER] - room names of all booked rooms with offer name

[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

[ROOMTYPEDESCS] - room accommodation type all booked rooms

[ROOMTYPEDESCSINC] - room accommodation type all booked rooms including cancelled bookings

[ROOMSIZE] - size of the room

[ROOMTEMPLATE1] - ROOM Template 1

[ROOMTEMPLATE2] - ROOM Template 2

[ROOMTEMPLATE3] - ROOM Template 3

[ROOMTEMPLATE4] - ROOM Template 4

[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

[ROOMMETAAUXTEXT] - room auxiliary text setting for first booked room (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

[OFFERID] - ID of the booked offer

[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

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

[OFFERDESCRIPTION2] - offer description 2 for all booked rooms

[OFFERDESCRIPTION2INC] - offer description 2 for all booked rooms incl. cancelled

[OFFERDESCRIPTION1-1] - offer description 1 for this booked room

[OFFERDESCRIPTION2-1] - offer description 2 for this booked room

[OFFERSUMMARY] - summary offers

[OFFERSUMMARYINC] - summary offers including cancelled bookings

[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 (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

[ROOMDESCRIPTION1] - Room description 1 from (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 (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

[ROOMCLEANINGFEENUM] - Cleaning fee from (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

[ROOMSECURITYDEPOSITNUM] - Securty deposit from (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

[ROOMTAXPERCENTNUM] - Tax percentate from from (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

[ROOMTAXPERSONNUM] - Tax per Person Night from from (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

3 Booking Variables

[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

[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.

3.1 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

3.2 Content from "Summary" tab see also under "Room" and "Property"

[STATUS] - status of booking

[SUBSTATUS] - sub status of the booking

[FIRSTNIGHT] - first night booked

[FIRSTNIGHTSHORT] - first night booked in 1 Apr 2016 format

[FIRSTNIGHTYYYY-MM-DD] - first night booked in YYYY-MM-DD format

[LASTNIGHT] - last night booked

[LASTNIGHTSHORT] - last night booked in 1 Apr 2016 format

[LASTNIGHTYYYY-MM-DD] - last night booked in YYYY-MM-DD format

[LEAVINGDAY] - check-out day

[LEAVINGDAYSHORT] - check-out day in 1 Apr 2016 format

[LEAVINGDAYYYYY-MM-DD] - check-out day in YYYY-MM-DD format

[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

[NOTES] - notes

[NOTESBR] - notes with line breaks

[GUESTARRIVALTIME] - arrival time

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

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

[NUMADULT1] - number of adults in this room

[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

[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

[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

3.3 Content from "Details" tab

[MESSAGE] - the content of the booking message field

[MESSAGEBR] - the content of the booking message field with line breaks

[GUESTCUSTOMQ1] - answer to custom question 1

[GUESTCUSTOMQ1BR] - answer to custom question 1 with line breaks

[GUESTCUSTOMQ2] - answer to custom question 2

[GUESTCUSTOMQsBR] - answer to custom question 2 with line breaks

[GUESTCUSTOMQ3] - answer to custom question 3

[GUESTCUSTOMQ3BR] - answer to custom question 3 with line breaks

[GUESTCUSTOMQ4] - answer to custom question 4

[GUESTCUSTOMQ4BR] - answer to custom question 4 with line breaks

[GUESTCUSTOMQ5] - answer to custom question 5

[GUESTCUSTOMQ5BR] - answer to custom question 5 with line breaks

[GUESTCUSTOMQ6] - answer to custom question 6

[GUESTCUSTOMQ6BR] - answer to custom question 6 with line breaks

[GUESTCUSTOMQ7] - answer to custom question 7

[GUESTCUSTOMQ7BR] - answer to custom question 7 with line breaks

[GUESTCUSTOMQ8] - answer to custom question 8

[GUESTCUSTOMQ8BR] - answer to custom question 8 with line breaks

[GUESTCUSTOMQ9] - answer to custom question 9

[GUESTCUSTOMQ9BR] - answer to custom question 9 with line breaks

[GUESTCUSTOMQ10] - answer to custom question 10

[GUESTCUSTOMQ10BR] - answer to custom question 10 with line breaks

[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.

3.4 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 <BR> to force new lines

[PRICE] - Value in price field (number entered in the price field of the booking) with currency symbol

[PRICENC] - Value in price field (number entered in the price field of the booking) without currency symbol (do not use in calculations, use PRICENUM)

[PRICE:10%] - Percentage value of Price

[PRICE:-10] - Price with offset amount

[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

[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

[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

[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: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

[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

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

[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)

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

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

[GUESTVOUCHER] - voucher code used with booking

[CARDLASTFOUR] - last 4 digits of card

[CARDFIRSTSIX] - first 6 digits of card

3.5 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

3.6 Content from "Group Invoice" tab

[GROUPNOTE] - group note

3.7 Content from "Mail & Actions" tab

[GUESTEMAIL] - guest's Email address on the "summary" tab of the booking

[GUESTLANGUAGE] - guest language

[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.

3.8 Content from "Guests" tab

[GUESTSID] - all IDs of this booking

[GUESTSID1] - ID of the first guest

[GUESTSIDS] - all IDs for all bookings in the group

[GUESTSNAME] - name of all guests listed on the "guests" tab of this booking

[GUESTSNAMES] - name of all guests listed on the "guests" tab of the booking of the group booking

[GUESTSNAMESINC] - name of all guests listed on the "guests" tab of the booking of the group booking incl. cancelled

[GUESTSFIRSTNAMES] - first name of all guests listed on the "guests" tab of this booking last separated by an &

[GUESTSFIRSTNAMESINC] - first name of all guests listed on the "guests" tab of this booking incl. cancelled

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

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

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

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

[GUESTSAFULLADDRESSSBR1INC] - the first address including city, postcode, sate and country from the guests tab of the booking including cancelled bookings in international format

[GUESTSAFULLADDRESSSBR1] - the first address including city, postcode, sate and country from the guests tab of the booking in International format

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

[GUESTSBFULLADDRESSSBR1] - the first address including city, postcode, sate and country from the guests tab of the booking in European format

[GUESTSNUMBOOKINGS1] - the total number of bookings made by the first guest, a group booking counts as one booking.

[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.

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

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

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

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

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

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

[GUESTSCUSTOMQ4S] - answer to custom question 4 for all guests

[GUESTSCUSTOMQ4SINC] - answer to custom question 4 for all guests including cancelled bookings

[GUESTSCUSTOMQ5S] - answer to custom question 5 for all guests

[GUESTSCUSTOMQ5SINC] - answer to custom question 5 for all guests including cancelled bookings

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

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

[GUESTSCUSTOMQ7S] - answer to custom question 7 for all guests

[GUESTSCUSTOMQ7SINC] - answer to custom question 7 for all guests including cancelled bookings

[GUESTSCUSTOMQ7S] - answer to custom question 8 for all guests

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

[GUESTSCUSTOMQ9S] - answer to custom question 9 for all guests

[GUESTSCUSTOMQ9SINC] - answer to custom question 9 for all guests including cancelled bookings

[GUESTSCUSTOMQ10S] - answer to custom question 10 for all guests

[GUESTSCUSTOMQ10SINC] - answer to custom question 10 for all guests including cancelled bookings

3.9 Cancellation, Management and Guest Login

[CANCELLEDTIME] - date when the booking was cancelled

[CANCELLEDTIME:{%A, %e %B, %Y}] - date when the booking was cancelled display can be any valid PHP strftime format string

[CANCELURL] - URL to view and cancel bookings

[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 until booking can be cancelled

[CANCELUNTIL] - shows the number of days between check-in and the last day which can be cancelled. If guest can always cancel it shows 0, if guest can never cancel it shows 9999

[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

4 Date and Time

[CURRENTDATE] - current date

[CURRENTDATEYYYY-MM-DD] - current date in YYYY-MM-DD format

[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 and the display can be any valid PHP strftime format string.

[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:{%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 in a custom format.

[MODIFYDATE:{%A, %e %B, %Y}] - last booking modification date/time, the display can be any valid PHP strftime format string.

[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
%j 	Day of the year, 3 digits with leading zeros 	001 to 366
%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)
%U 	Week number of the given year, starting with the first Sunday as the first week 	13 (for the 13th full week of the year)
%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)
%W 	A numeric representation of the week of the year, starting with the first Monday as the first week 	46 (for the 46th week of the year beginning with a Monday)
%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)
%C 	Two digit representation of the century (year divided by 100, truncated to an integer) 	19 for the 20th Century
%g 	Two digit representation of the year going by ISO-8601:1988 standards (see %V) 	Example: 09 for the week of January 6, 2009
%G 	The full four-digit version of %g 	Example: 2008 for the week of January 3, 2009
%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
%k 	Hour in 24-hour format, with a space preceding single digits 	0 through 23
%I 	Two digit representation of the hour in 12-hour format 	01 through 12
%l      (lower-case 'L') 	Hour in 12-hour format, with a space preceding single digits 	1 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 "%I:%M:%S %p" 	Example: 09:34:17 PM for 21:34:17
%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
%T 	Same as "%H:%M:%S" 	Example: 21:34:17 for 09:34:17 PM
%X 	Preferred time representation based on locale, without the date 	Example: 03:59:16 or 15:59:16
%z 	The time zone offset. Example: -0500 for US Eastern Time
%Z 	The time zone abbreviation. Example: EST for Eastern Time
%c 	Preferred date and time stamp based on locale 	Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM
%D 	Same as "%m/%d/%y" 	Example: 02/05/09 for February 5, 2009
%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
%x 	Preferred date representation based on locale, without the time 	Example: 02/05/09 for February 5, 2009
%n 	A newline character ("\n")
%t 	A Tab character ("\t")
%% 	A literal percentage character ("%")

5 Booking Group variables

5.1 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 (SETTINGS) CHANNEL MANAGER > PROPERTY CONTENT > ROOM CONTENT

RDE1 = Room description 1 from (SETTINGS) PROPERTIES> ROOMS > SETUP

RNAM = Room Display Name

ROOM = Room name

RQTY = shows the number of rooms for each booking and a total at the bottom

STAT = Booking state

STUS = Status

TEXT = Prints a plain text table instead of HTML

TOTA = Total price

UNI2 = Unit first additional information

UNI3 = Unit second additional information

UNIT = Unit name


Connect the parameters with an underscore.

Examples:

[BOOKGROUP:PROP_ROOM_BREF_NAME] will display the property name, room name, booking number and guest name in this order.


[BOOKGROUP:BREF_NAME_PROP_ROOM] will display the booking number, guest name property name and room name in this order.

5.2 Booking Group Table with fixed content

[BOOKGROUPROOMLIST] - create a table of guest names including room type for a group booking

[BOOKGROUPROOMLISTTOTAL] - create a table of guest names including room type for a group booking with guest totals

[BOOKGROUPROOMLISTCHARGETOTAL] - create a table of guest names including room type and charge for a group booking with guest totals

[BOOKGROUPNAMELIST] - create a table of guest names including room type and unit for a group booking

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

[BOOKGROUPNAMELISTCHARGETOTAL] - create a table of guest names including room type and unit and charge for a group booking with guest totals

[BOOKGROUPUNITLIST] - create a table of guest names including unit for a group booking

[BOOKGROUPUNITLISTTOTAL] - create a table of guest names including unit for a group booking with guest totals

[BOOKGROUPUNITLISTCHARGETOTAL] - create a table of guest names including unit and charge for a group booking with guest totals

6 Invoice Variables

[INVOICENUMBER] - invoice number

[INVOICENUMBERS] - invoice number if invoicees are involved

[INVOICEDATE] - invoice date

[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 and the display can be any valid PHP strftime format string.

[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 and the display can be any valid PHP strftime format string.

6.1 Invoice Values

These template variables will display a value form the invoice.

6.1.1 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

6.1.2 Standard Invoice Values

[INVOICEBALANCE] - invoice balance

[INVOICEBALANCE:50%] - percentage of invoice balance

[INVOICEBALANCE:-100] - invoice balance with offset amount

[INVOICEBALANCENUM] - As per [INVOICEBALANCE] but the value is displayed with a decimal point and no thousands separator (for calculation).

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

[INVOICEPARTBALANCE:status1,status2,!status4:10%] - Calculate the balance of all invoice items with matching status and apply optional multiplier or offset. The status items can be a comma separated list. To exclude status items prefix them with an exclamation mark, for example !status1. The offset is optional and can be specified after a second colon (:) and it can be a percentage by ending the number with the percent (%) symbol or a numeric value offset.

[INVOICEPARTBALANCENUM:status1,status2,status4:10%] - As per INVOICEPARTBALANCE but the value is displayed with a decimal point and no thousands separator (for calculation).

[INVOICEBALANCE1] - invoice balance of one booking only, not the booking group

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

[INVOICECHARGES] - invoice sum of all charges

[INVOICECHARGES:50%] - invoice sum of all charges with percentage multiplier

[INVOICECHARGES:-100] - invoice sum of all charges with offset

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

[INVOICECHARGESNUM:] - As per [INVOICECHARGES:] but the value is displayed with a decimal point and no thousands separator (for calculation)

[INVOICEPARTCHARGES:status1,status2,!status4:10%] - Calculate the balance of all invoice charges with matching status and apply optional multiplier or offset. The status items can be a comma separated list. To exclude status items prefix them with an exclamation mark, for example !status1. The offset optional and can be specified after a second colon (:) and it can be a percentage by ending the number with the percent (%) symbol or a numeric value offset.

[INVOICEPARTCHARGESNUM:status1,status2,status4:10%] - As per INVOICEPARTCHARGES but the value is displayed with a decimal point and no thousands separator (for calculation).

[INVOICEPAYMENTS] - invoice sum of all payments

[INVOICEPAYMENTS:50%] - invoice sum of all payments with percentage multiplier

[INVOICEPAYMENTS:-100] - invoice sum of all payments with offset

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

[INVOICEPAYMENTSNUM:50%] - As per [INVOICEPAYMENTS:50%] but the value is displayed with a decimal point and no thousands separator.

[INVOICEPARTPAYMENTS:status1,status2,!status4:10%] - Calculate the balance of all invoice payments with matching status and apply optional multiplier or offset. The status items can be a comma separated list. To exclude status items prefix them with an exclamation mark, for example !status1. The offset optional and can be specified after a second colon (:) and it can be a percentage by ending the number with the percent (%) symbol or a numeric value offset.

[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

[INVOICEPENDPAYNEXTDATE:] - date of the next pending payment display can be any valid PHP strftime format string. Information about PHP strftime Strings can be find found here: http://php.net/manual/de/function.strftime.php

[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:50%] - invoice sum of all credit items with percentage multiplier

[INVOICECREDITS:-100] - invoice sum of all credit items with offset

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

[INVOICECREDITSNUM:] - As per [INVOICECREDITS:] but the value is displayed with a decimal point and no thousands separator (for calculation)

[INVOICEDEBITS] - invoice sum of all debit items (positive items)

[INVOICEDEBITS:50%] - invoice sum of all debit items with percentage multiplier

[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 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

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

[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)

[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

[INVOICEUPSELLNUM0] - as per [INVOICEUPSELL1] but the value is displayed with a decimal point and no thousands separator (for calculations)

[INVOICEUPSELL1] - value of upsell item 1 (number can be between 0 to 20)

[INVOICEUPSELLNUM1] - as per [INVOICEUPSELL1] but the value is displayed with a decimal point and no thousands separator (for calculations)

[INVOICEUPSELLQTY1] - quantity of upsell item 1 (number can be between 1 to 20)

[INVOICEUPSELLNAME1] - name of the headline field of upsell item 1 (number can be between 1 to 20)

[INVOICEUPSELLSTATUS1] - stautus of the headline field of upsell item 1 (number can be between 1 to 20)

[INVOICEUPSELLHEADLINE1] - headline (name and status if used of upsell item 1 (number can be between 1 to 20)

[INVOICEUPSELLDESCRIPTION1] - description of upsell item 1 (number can be between 1 to 20)

[INVOICEUPSELLAMOUNTNUM1] - amout of upsell item 1



[INVOICEUPSELLTYPE1] - type of upsell item 1

[INVOICEUPSELLPER1] - per of upsell item 1

[INVOICEUPSELLPERIOD1] - period of upsell item 1


[INVOICEEXTRAITEMDESC1] - Name of extra invoice item 1 (number can be between 0 to 20)

[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.

[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.

[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) Note: the order goes by the order in the dropdown list not by the order the items are entered.

[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)

INVOICEGROSSNUM:1] gross amount of the inserted VAT rate (number is the VAT rate)

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

[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)

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

[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)

[INVOICEITEMBYDESC:Searchterm] - searches the invoice for items with this search term and adds them up

[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)

[INVOICEPAYMENTBYDESC:Searchterm] - searches the payments for items with this search term and adds them up

[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)

6.2 Invoice Table

These template varibles will display an invoice table.

6.2.1 Standard Invoice Tables

[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.

[INVOICETABLEPART:status1,status2,!status4] - Invoice table showing only items with matching status. The status items can be a comma separated list. To exclude status items prefix them with an exclamation mark, for example !status1.

[INVOICETABLE2] - invoice table with status field

[INVOICETABLE2:$1.1$] - invoice table with status field and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLECHARGES] - invoice table showing charges only

[INVOICETABLECHARGESINVOICEE1234] - invoice table showing charges only assigned to the specified invoicee, specify the invoicee Id number.

[INVOICETABLENOTOT] - invoice table without grand total

[INVOICETABLENOTOT:$1.1$] - invoice table without grand total and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLENOTOT2] - invoice table with status field without grand total

[INVOICETABLENOTOT2:$1.1$] - invoice table with status field without grand total 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.

[INVOICETABLEVATCOMPACT] - compact version of invoice table with vat information and vat summary

[INVOICETABLEVATCOMPACT:$1.1$] - compact version of invoice table with vat information and vat summary and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLEVATCOMPACTNOSUM] - compact version of invoice table with vat information without vat summary

[INVOICETABLEVATCOMPACTNOSUM:$1.1$] - compact version of invoice table with vat information without vat summary and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLEVATNOSUM] - invoice table with vat information without vat summary

[INVOICETABLEVATNOSUM:$1.1$] - invoice table with vat information without vat summary and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLEDATEVATNOSUM] - invoice table with vat information and date without vat summary

[INVOICETABLEDATEVATNOSUM:$1.1$] - invoice table with vat information and date without vat summary and currency multiplier with optional new currency symbol before or after price.

[INVOICETABLEVAT2] - invoice table with vat information and status field and vat summary

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

[INVOICETABLEVAT2NOSUM] - invoice table with vat information and status field without vat summary

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

[INVOICETABLEVATCHARGES] - invoice table showing charges only with vat information and vat summary

[INVOICETABLENOPRICE] - invoice table with no price information

[INVOICETABLEINVOICEE] - invoice table excluding items assigned to an invoicee.

[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

6.2.2 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 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.

7 Invoicee Variables

[INVOICEEBALANCE] - invoice balance for unassigned invoice items.

[INVOICEEBALANCENUM] - invoice balance for unassigned invoice items displayed with a decimal point and no thousands separator.

[INVOICEEBALANCE1234] - invoice balance for invoice items assigned to invoicee 1234 (change 1234 to the required Invoicee Id number).

[INVOICEEBALANCENUM1234] - invoice balance for invoice items assigned to invoicee 1234 (change 1234 to the required Invoicee Id number) displayed with a decimal point and no thousands separator.

[INVOICEECHARGES] - invoice charges for unassigned invoice items.

[INVOICEECHARGESNUM] - invoice charges for unassigned invoice items displayed with a decimal point and no thousands separator.

[INVOICEECHARGES1234] - invoice charges for invoice items assigned to invoicee 1234 (change 1234 to the required Invoicee Id number).

[INVOICEECHARGESNUM1234] - invoice charges for invoice items assigned to invoicee 1234 (change 1234 to the required Invoicee Id number) displayed with a decimal point and no thousands separator.

[INVOICEEPAYMENTS] - invoice payments for unassigned invoice items.

[INVOICEEPAYMENTSNUM] - invoice payments for unassigned invoice items displayed with a decimal point and no thousands separator.

[INVOICEEPAYMENTS1234] - 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)

[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

[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

[INVOICEETEMPLATE2] - template value 2 of the invoice account the invoice is assigned to or blank

[INVOICEETEMPLATE3] - template value 3 of the invoice account the invoice is assigned to or blank

[INVOICEETEMPLATE4] - template value 4 of the invoice account the invoice is assigned to or blank

[INVOICEETEMPLATE5] - template value 5 of the invoice account the invoice is assigned to or blank

[INVOICEETEMPLATE6] - template value 6 of the invoice account the invoice is assigned to or blank

[INVOICEETEMPLATE7] - template value 7 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


8 Payment Request Variables

[PAYURL] - Creates a payment url for the payment request for the amount in the booking deposit field if non zero, otherwise the outstanding balance.

[PAYURL:25%] - Creates a payment url for the payment request for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance.

[PAYURL:200] - Creates a payment url for the payment request url for a fixed amount. nt.

[PAYLINK] - Creates a payment link (HTML A tag) for the payment request for the amount in the booking deposit field if non zero, otherwise the outstanding balance.

[PAYLINK:25%] -Creates a payment link (HTML A tag) for the payment request for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance.

[PAYLINK:200] - Creates a payment link (HTML A tag) for the payment request) for a fixed amount.

[PAYBUTTON] - Creates a payment button for the payment request for the amount in the booking deposit field if non zero, otherwise the outstanding balance. Not recommended for emails.

[PAYBUTTON:25%] - Creates a payment button for the payment request for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance. Not recommended for emails.

[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:25%] - Creates a Paypal payment url for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance.

[PAYPALURL:200] - Creates a Paypal payment url for a fixed amount. A zero amount will cause paypal to provide a field to enter an amount.

[PAYPALLINK] - Creates a Paypal payment link (HTML A tag) for the amount in the booking deposit field if non zero, otherwise the outstanding balance.

[PAYPALLINK:25%] - Creates a Paypal payment link (HTML A tag) for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance.

[PAYPALLINK:200] - Creates a Paypal payment link (HTML A tag) for a fixed amount. A zero amount will cause paypal to provide a field to enter an amount.

[PAYPALBUTTON] - Creates a Paypal payment button for the amount in the booking deposit field if non zero, otherwise the outstanding balance. Not recommended for emails.

[PAYPALBUTTON:25%] - Creates a Paypal payment button for a percentage of the outstanding balance. Use 100% to specify the full outstanding balance. 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

9 Text Operators

[REPLACE|searchForThisText|replaceWithThisText|textToSearch] - replace "searchForThisText" with "replaceWithThisText" within the text "textToSearch"


[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)


1. [SUBSTR|0|4|[GUESTPHONENUM]]

This will test for the first 4 characters of the Guest phone number.


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

10 iCal Links

These template variables will create iCal links which allow the booking to be added to a calendar.

[ICALURL] - Calendar link

[ICALURL:16] - Calendar link with check-in hour. Replace '16' with the hour check-in starts.

[ICALURL::10] - Calendar link with check-out hour. Replace '10' with the hour with the hour check-out ends.

[ICALURL:::summary text] - Calendar link with a summary text

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

Example:

Calendar link with check-in time 16:00, check-out time 10:00, the summary text "Booking" and the description text "Sunny Hotel":

[ICALURL:16:10:Booking:Sunny Hotel]

11 Mathematical Operators

Place mathematical operators between two numbers or between two template variables that return a number.

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

[-] - Example: 5 [-] 1 = 4

[*] - Example: 3 [*] 4 = 12

[/] - Example: 15 [/] 5 = 3

[MIN] - Example: 2 [MIN] 3 = 2

[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

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.

[INVOICECHARGESNUM][*]0.2[-][INVOICESECONDITEMNUM][*]0.2[-][COMMISSIONNUM][*]0.2

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.

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.

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.


11.1 Rounding and controlling decimal places

11.1.1 Default

2 [/] 3 = 0.66666666666667

11.1.2 Rounding to the nearest integer

2 [/.0] 3 = 1

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

2 [/.1] 3 = 0.7

2 [/.2] 3 = 0.67

2 [/.3] 3 = 0.667

2 [/.4] 3 = 0.6667


This works on all operators including [MIN] and [MAX]

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.

12 Currency Conversion

[CONVERT:EUR-USD] - get the actual conversion rate between two currencies, this can be used with math functions to show alternative currency values. All currencies supported by the booking page currency selector can be used.

Example: [INVOICECHARGESNUM] [*.2] [CONVERT:EUR-USD] will convert the invoice charge value from Euros to USD with two decimal points.

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]*

or this to convert EUR to USD

123456*[CONVERT:EUR-USD]

123456*[CONVERT:USD-EUR][/]0.85 will convert to Euros and divides the price by 0.85 which raises it by circa 15%

13 Account Variables (account of the booking)

[ACCOUNTUSERNAME] - Username of the account owning the booking

[LOGGEDINACCOUNTUSERNAME] - Username of the person logged in

[ACCOUNTID] - account id of the booked property

[ACCOUNTTEMPLATE1] - Account Template 1

[ACCOUNTTEMPLATE2] - Account Template 2

[ACCOUNTTEMPLATE3] - Account Template 3

[ACCOUNTTEMPLATE4] - Account Template 4

[COMMISSIONLIMIT] - shows the available commission amount for the owner account of the booking

[MASTERACCOUNTTEMPLATE1] - Account Template 1 from master account

[MASTERACCOUNTTEMPLATE2] - Account Template 2 from master account

[MASTERACCOUNTTEMPLATE3] - Account Template 3 from master account

[MASTERACCOUNTTEMPLATE4] - Account Template 4 from master account

14 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

[LOGGEDINACCOUNTTEMPLATE1] - Account Template 1

[LOGGEDINACCOUNTTEMPLATE2] - Account Template 2

[LOGGEDINACCOUNTTEMPLATE3] - Account Template 3

[LOGGEDINACCOUNTTEMPLATE4] - Account Template 4

[LOGGEDINAPIKEY] - apiKey

[MASTERLOGGEDINACCOUNTTEMPLATE1] - Account Template 1 from master account

[MASTERLOGGEDINACCOUNTTEMPLATE2] - Account Template 2 from master account

[MASTERLOGGEDINACCOUNTTEMPLATE3] - Account Template 3 from master account

[MASTERLOGGEDINACCOUNTTEMPLATE4] - Account Template 4 from master account

15 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]

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:


15.1 Examples

Template variables can be used inside this template variable as per the examples comparison in blue, positive result in green, negative result in red:

1. [IF=:[GUESTNAME]:Miller:yes |no]

If the guestname is Miller the text "yes" will display. If the guest name is not Miller the text "no" will display

2.[ IF>:[NUMADULT]:2:please contact us about you bedding requirements|]

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. [IF<:[NUMADULT]:3:|linen for two adults is included free of charge]

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. [IF<=:[NUMADULT]:2:yes|no]

5. [IF>=:[NUMADULT]:2:yes|no]

6. [IFBETWEEN:[NUMADULT]:1:3:yes|too low|too high]

7. [IFLIKE:[GUESTTITLE]:Mr:Dear|Hi]

IFLIKE works like IF= except it is case insensitive and removes any spaces from the start and end of the words

8. [IFIN:John:[GUESTFIRSTNAME]:Hi John|Your name does not contain John?]

If the first word is contained in the second word the first option is displayed, otherwise the second option is displayed

9. [IFIN:CHECKIN:[BOOKINGINFOITEMS]:[BOOKINGINFOCODETEXT:CHECKIN]|]

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. [IFIN:DEPOSIT:[BOOKINGINFOCODES]:|[IF=:[GUESTCOUNTRY2]:AU:Credit card details are required |A deposit is required]|No deposit is required]

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. [IF<:[INADVANCE]:|[IFIN:TRANSFER:[BOOKINGINFOCODES]:3:Payment Due Date: ASAP |Payment Due Date: [FIRSTNIGHT:- 30days]]|]

You want display a special message to your guests 3 days before checkin with a Booking Info Code = TRANSFER.

12. [IF=:[STATUS]:Confirmed:PAID|[IF<^[INADVANCE]^30^Payment Due Date: As soon as possible~Payment Due Date: [FIRSTNIGHT:- 30 days]]]

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. [IFBETWEEN:[TURNOVERDAYS]:0:3:yes|no]

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. [IF>:[VACANTDAYS]:1:yes|no]

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. [IF=:[LEAVINGDAY:{%a}]:Sun:|[IF>=^[TURNOVERDAYS]^1^yes~no]]

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. [[IF=:[LEAVINGDAY:{%u}]:1:yes|[IF=^[LEAVINGDAY:{%u}]^3^yes]]

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. [[IF=:[LEAVINGDAY:{%u}]:1:yes|[IF=^[LEAVINGDAY:{%u}]^3^yes][IF=^[LEAVINGDAY:{%u}]^6^yes]]

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.

16 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

17 Encoding Template Variables

[ENCODEURL:value] encode value for URL data format

[ENCODEJSON:value] encode value for JSON data format


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.