All document templates for the output of invoices, offers, booking confirmations etc. are also based on Word .docx templates, which of course have to be enriched with certain variables and logics. We are happy to pre-configure the desired templates, but changes can be made independently at any time, even if the document syntax is a bit "tricky" and requires precise work.
The following placeholders can be used in the document:
Simple params
|
Value |
Parameter |
Attribute |
| {%=actualdate%} | actualdate | Current date in dd.MM.yyyy |
| {%=numberOfNormal%} | numberOfNormal | Number of normal room blocks |
| {%=numberOfMeeting%} | numberOfMeeting | Number of meeting room blocks |
| {%=numberOfNormalf%} | numberOfNormalf | Number of normal room blocks (numeric) |
| {%=numberOfMeetingf%} | numberOfMeetingf | Number of meeting room blocks (numeric) |
| User Information: | ||
| {%=userFirstname%} {%=userLastname%} | userFirstname userLastname | First name/surname of the registered user |
| {%=userEmail%} | userEmail | First name/surname of the registered user |
| {%=userSign%} | userSign | Abbreviation of the registered user |
| {%unless empty(userAbout)%}{%=html(userAbout)%}{%end%} | userAbout | The registered user (e.g. position or activity) (HTML) |
|
Property/ Hotel:
|
||
| {%=property.name%} | property.name | Name Hotel |
| {%=property.address%} | property.address | Address-Street |
| {%=property.city%} | property.city | Address-City |
| {%=property.postalcode%} | property.postalcode | Postal code |
| {%=property.countrycode%} | property.countrycode | Country code |
| {%=property.department%} | property.department | MICE Department Name |
| {%=property.email%} | property.email | E-mail address |
| {%unless empty(property.description)%}{%=html(property.description)%}{%end%} | property.description | Description |
| {%=property.phone%} | property.phone | Phone number |
| {%=property.groupname%} | property.groupname | Hotel chain |
| {%=property.latitude%} | property.latitude | Latitude |
| {%=property.longitude%} | property.longitude | Longitude |
| {%unless empty(property.paymentinfo)%}{%=html(property.paymentinfo)%}{%end%} | property.paymentinfo | Terms and conditions |
| {%unless empty(property.terms)%}{%=html(property.terms)%}{%end%} | property.terms | Terms and conditions |
| {%=property.url%} | property.url | URL property |
| {%unless empty(property.onlineoffertext)%}{%=html(property.onlineoffertext)%}{%end%} | property.onlineoffertext | Online offer text: |
|
Booker:
|
|
|
| {%=booker.companyname%} | booker.companyname | Company of the booker |
| {%=booker.firstname%} {%=booker.lastname%} | booker.firstname booker.lastname | First and last name |
| {%=booker.address%} | booker.address | Address-Street |
| {%=booker.postalcode%} | booker.postalcode | Postcode |
| {%=booker.city%} | booker.city | City |
| {%=booker.email%} | booker.email | E-mail address |
| {%=booker.phone%} | booker.phone | Phone number |
| {%=booker.title%} | booker.title | Title of the person making the booking |
| {%=booker.salutation%} | booker.salutation | Title of the person making the booking (Mr./Mrs.) |
| {%=booker.costcenter%} | booker.costcenter | Cost center |
| {%=booker.department%} | booker.department | Department |
|
Booking:
|
|
|
| {%=booking.datespan%} | booking.datespan | From to date |
| {%=booking.eventdatespan%} | booking.eventdatespan | From to event date |
| {%unless empty(booking.description)%}{%=html(booking.description)%}{%end%} | booking.description | Booking description (HTML) |
| {%=booking.enddate%} | booking.enddate | End date in dd.MM.yyyy |
| {%=booking.eventenddate%} | booking.eventenddate | Event end date in dd.MM.yyyy |
| {%=booking.endtime%} | booking.endtime | End time in HH: mm |
| {%=booking.eventendtime%} | booking.eventendtime | Event end time in HH:mm |
| {%=booking.eventtitle%} | booking.eventtitle | Event name/description |
| {%=booking.status%} | booking.status | Status (numeric): |
| {%=booking.host%} | booking.host | Contact person Hotel |
| {%=booking.id%} | booking.id | External booking number if available or internal booking number |
| {%=booking.people%} | booking.people | Number of guests |
| {%=booking.peoplef%} | booking.peoplef | Number of guests for calculation in the document |
| {%=booking.startdate%} | booking.startdate | Start date in dd.MM.yyyy |
| {%=booking.eventstartdate%} | booking.eventstartdate | Start date of the event in dd.MM.yyyyy |
| {%=booking.starttime%} | booking.starttime | Start time in HH:mm |
| {%=booking.eventstartime%} | booking.eventstartime | Start time of the event in HH:mm |
| {%=booking.timespan%} | booking.timespan | from to time |
| {%=booking.eventtimespan%} | booking.eventtimespan | from to event time |
| {%=booking.weekdayStart%} | booking.weekdayStart | Weekday start: |
| {%=booking.weekdayshortStart%} | booking.weekdayshortStart | Weekday short Start: |
| {%=booking.weekdayEnd%} | booking.weekdayEnd | Weekday End: |
| {%=booking.weekdayshortEnd%} | booking.weekdayshortEnd | Weekday short End: |
| {%=booking.totalprice%} | booking.totalprice | Sum of all prices |
| {%=booking.totalpricef%} | booking.totalpricef | Sum of all prices for calculating in the document |
| {%=booking.totalpricewithouttax%} | booking.totalpricewithouttax | Sum of all prices without taxes |
| {%=booking.totalpricewithouttaxf%} | booking.totalpricewithouttaxf | Sum of all prices without taxes for calculating in the document |
| {%=booking.totaltax%} | booking.totaltax | Sum of taxes |
| {%=booking.totaltaxf%} | booking.totaltaxf | Total of taxes to calculate in the document |
| {%=booking.totalpriceWithoutCitytax%} | booking.totalpriceWithoutCitytax | Sum of all prices, excluding city tax |
| {%=booking.totalpriceWithoutCitytaxf%} | booking.totalpriceWithoutCitytaxf | Sum of all prices, excluding city tax, to calculate in the document |
| {%=booking.totalpricewithouttaxWithoutCitytax%} | booking.totalpricewithouttaxWithoutCitytax | Total of all prices, excluding City Tax, without taxes |
| {%=booking.totalpricewithouttaxWithoutCitytaxf%} | booking.totalpricewithouttaxWithoutCitytaxf | Total of all prices, excluding City Tax, without taxes for calculating in the document |
| {%=booking.totaltaxWithoutCitytax%} | booking.totaltaxWithoutCitytax | Total taxes, excluding city tax |
| {%=booking.totaltaxWithoutCitytaxf%} | booking.totaltaxWithoutCitytaxf | Total of taxes, excluding city tax, for calculating in the document |
| {%=booking.citytaxTotal%} | booking.citytaxTotal | Sum of all city taxes |
| {%=booking.citytaxTotalf%} | booking.citytaxTotalf | Total of all city taxes (numerical) |
| {%=booking.citytaxTotalnet%} | booking.citytaxTotalnet | Total of all city tax net amounts |
| {%=booking.citytaxTotalnetf%} | booking.citytaxTotalnetf | Total of all City Tax net amounts (numeric) |
| {%=booking.citytaxTotaltax%} | booking.citytaxTotaltax | Total of all VAT on City Tax |
| {%=booking.citytaxTotaltaxf%} | booking.citytaxTotaltaxf | Total of all VAT on City Tax (numeric) |
| {%=booking.totalpriceMeeting%} | booking.totalpriceMeeting | Total of all prices; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.totalpriceMeetingf%} | booking.totalpriceMeetingf | Total of all prices; only meeting rooms, services in meeting rooms and services without room allocation; (numerical) |
| {%=booking.totalpricewithouttaxMeeting%} | booking.totalpricewithouttaxMeeting | Total of all prices excluding taxes; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.totalpricewithouttaxMeetingf%} | booking.totalpricewithouttaxMeetingf | Sum of all prices excluding taxes; only meeting rooms, services in meeting rooms and services without room allocation; (numeric) |
| {%=booking.totaltaxMeeting%} | booking.totaltaxMeeting | Total taxes; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.totaltaxMeetingf%} | booking.totaltaxMeetingf | Total taxes; only meeting rooms, services in meeting rooms and services without room allocation; (numerical) |
| {%=booking.totalpriceOvernight%} | booking.totalpriceOvernight | Sum of all prices; only normal rooms and services in normal rooms; |
| {%=booking.totalpriceOvernightf%} | booking.totalpriceOvernightf | Sum of all prices; only normal rooms and services in normal rooms; (numeric) |
| {%=booking.totalpricewithouttaxOvernight%} | booking.totalpricewithouttaxOvernight | Sum of all prices without taxes; only normal rooms and services in normal rooms; |
| {%=booking.totalpricewithouttaxOvernightf%} | booking.totalpricewithouttaxOvernightf | Sum of all prices excluding taxes; only normal rooms and services in normal rooms; (numeric) |
| {%=booking.totaltaxOvernight%} | booking.totaltaxOvernight | Sum of all prices excluding taxes; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.totaltaxOvernightf%} | booking.totaltaxOvernightf | Sum of all prices excluding taxes; only meeting rooms, services in meeting rooms and services without room allocation; (numeric) |
| {%=booking.averageNumberOfNormalAndMeetingRooms%} | booking.averageNumberOfNormalAndMeetingRooms | Sum of taxes; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.averageNumberOfNormalAndMeetingRoomsf%} | booking.averageNumberOfNormalAndMeetingRoomsf | Sum of taxes; only meeting rooms, services in meeting rooms and services without room allocation; (numeric) |
| {%=booking.averageNumberOfNormalRooms%} | booking.averageNumberOfNormalRooms | Sum of all prices; only normal rooms and services in normal rooms; |
| {%=booking.averageNumberOfNormalRoomsf%} | booking.averageNumberOfNormalRoomsf | Sum of all prices; only normal rooms and services in normal rooms; (numeric) |
| {%=booking.averageNumberOfMeetingRooms%} | booking.averageNumberOfMeetingRooms | Sum of all prices excluding taxes; only normal rooms and services in normal rooms; |
| {%=booking.averageNumberOfMeetingRoomsf%} | booking.averageNumberOfMeetingRoomsf | Sum of all prices excluding taxes; only normal rooms and services in normal rooms; (numeric) |
| {%=booking.validto%} | booking.validto | Sum of all prices excluding taxes; only meeting rooms, services in meeting rooms and services without room allocation; |
| {%=booking.totalpriceRooms%} | booking.totalpriceRooms | Total (only overnight rooms, without services) |
| {%=booking.totalpriceRoomsf%} | booking.totalpriceRoomsf | Total (only overnight rooms, without services) (numerical) |
| {%=booking.totalnetRooms%} | booking.totalnetRooms | Total net (only overnight rooms, without services) |
| {%=booking.totalnetRoomsf%} | booking.totalnetRoomsf | Total net (only overnight rooms, without services) (numerical) |
| {%=booking.totalnights%} | booking.totalnights | Number of nights |
| {%=booking.totalnightsf%} | booking.totalnightsf | Number of nights (numerical) |
| {%=booking.totaladultnights%} | booking.totaladultnights | Number of nights adults |
| {%=booking.totaladultnightsf%} | booking.totaladultnightsf | Number of nights adults (numerical) |
| {%=booking.cutoffDaysInAdvance%} | booking.cutoffDaysInAdvance | Cutoff days in advance |
| {%=booking.paymentto%} | booking.paymentto | Payment by date |
| {%=booking.canceluntill%} | booking.canceluntill | Cancellation by date |
| {%=booking.canceluntil%} | booking.canceluntil | Cancellation by date |
| {%=booking.ref1%} | booking.ref1 | Customer reference 1 |
| {%=booking.ref2%} | booking.ref2 | Customer reference 2 |
| {%=booking.guestInformation%} | booking.guestInformation | Guest information |
| {%unless empty(booking.cancellationPolicy)%}{%=html(booking.cancellationPolicy)%}{%end%} | booking.cancellationPolicy | Cancellation policy |
Parameter zur Verwendung in Schleifen
| Blocks and Allotments | ||
| {%for bookingDay in bookingDays%} | ||
| Day: | bookingDay.bookingDay | {%=bookingDay.bookingDay%} |
| Weekday | bookingDay.weekday | {%=bookingDay.weekday%} |
| Weekday short | bookingDay.weekdayshort | {%=bookingDay.weekdayshort%} |
| {%unless empty(bookingDay.servicesWithoutRoom)%} | ||
| Services without Room: | ||
| {%for service in bookingDay.servicesWithoutRoom%} | ||
| Service Name: | service.name | {%=service.name%} |
| Service Description booked service: (formatted) | service.description | {%unless empty(service.description)%}{%=html(service.description)%}{%end%} |
| Service description: (formatted) | service.service.description | {%unless empty(service.service.description)%}{%=html(service.service.description)%}{%end%} |
| Service description 2: (formatted) | service.service.description2 | {%unless empty(service.service.description2)%}{%=html(service.service.description2)%}{%end%} |
| Date from-to: | service.datespan | {%=service.datespan%} |
| Date Time from-to: | service.datetimespan | {%=service.datetimespan%} |
| Time from-to: | service.timespan | {%=service.timespan%} |
| End Time and date: | service.end | {%=service.end%} |
| Start Time and Date: | service.start | {%=service.start%} |
| End Date: | service.enddate | {%=service.enddate%} |
| Start Date: | service.startdate | {%=service.startdate%} |
| End Time: | service.endtime | {%=service.endtime%} |
| Start Time: | service.starttime | {%=service.starttime%} |
| Flag has Parent: (1 .. true) | service.parent | {%=service.parent%} |
| Type: | service.type | {%=service.type%} |
| Created by the installment plan service: | service.isFromRate | {%=service.isFromRate%} |
| Pricingmode | service.pricingmode | {%=service.pricingmode%} |
| Number of hours: | service.durationcount | {%=service.durationcount%} |
| Number of hours (numeric): | service.durationcountf | {%=service.durationcountf%} |
| Number of PAX: | service.personcount | {%=service.personcount%} |
| Number of PAX (numeric): | service.personcountf | {%=service.personcountf%} |
| Number of items: | service.itemcount | {%=service.itemcount%} |
| Number of items (numeric): | service.itemcountf | {%=service.itemcountf%} |
| Total Number of Items | service.quantity | {%=service.quantity%} |
| Total Number of Items (numerisch) | service.quantityf | {%=service.quantityf%} |
| Tax % | service.tax | {%=service.tax%} |
| Tax (numeric) | service.taxf | {%=service.taxf%} |
| Price (numeric) | service.price | {%=service.price%} |
| Price (numeric) | service.pricef | {%=service.pricef%} |
| Net price | service.pricenet | {%=service.pricenet%} |
| Price net (numeric) | service.pricenetf | {%=service.pricenetf%} |
| Tax amount | service.pricetax | {%=service.pricetax%} |
| Tax amount (numeric) | service.pricetaxf | {%=service.pricetaxf%} |
| Total amount | service.total | {%=service.total%} |
| Total (numeric) | service.totalf | {%=service.totalf%} |
| Total net | service.totalnet | {%=service.totalnet%} |
| Total net (numeric) | service.totalnetf | {%=service.totalnetf%} |
| Total tax | service.totaltax | {%=service.totaltax%} |
| Total tax (numerical) | service.totaltaxf | {%=service.totaltaxf%} |
| {%unless empty(service.options)%} | ||
| Services Options: | ||
| {%for option in service.options%} | ||
| Name | option.name | {%=option.name%} |
| Name Description | option.description | {%unless empty(option.description)%}{%=html(option.description)%}{%end%} |
| Price (numeric) | option.price | {%=option.price%} |
| Price (numeric) | option.pricef | {%=option.pricef%} |
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| {%for room in bookingDay.roomList%} | ||
| Block: | ||
| Room status (numerical) | room.status | {%=room.status%} |
| Category ID: | room.categoryid | {%=room.categoryid%} |
| Childcount: | room.childcount | {%=room.childcount%} |
| Flag has Parent room: | room.parent | {%=room.parent%} |
| Description: (formatted) | room.description | {%unless empty(room.description)%}{%=html(room.description)%}{%end%} |
| Description 2: (formatted) | room.description2 | {%unless empty(room.description2)%}{%=html(room.description2)%}{%end%} |
| Cancellation policy | room.cancellationPolicy | {%unless empty(room.cancellationPolicy)%}{%=html(room.cancellationPolicy)%}{%end%} |
| Guest information | room.guestInformation | {%=room.guestInformation%} |
| Date range: | room.datespan | {%=room.datespan%} |
| Start (date): | room.start | {%=room.start%} |
| Start (date time) | room.startdatetime | {%=room.startdatetime%} |
| End (date): | room.end | {%=room.end%} |
| End date: | room.enddate | {%=room.enddate%} |
| Start date: | room.startdate | {%=room.startdate%} |
| Start time: | room.starttime | {%=room.starttime%} |
| End time | room.endtime | {%=room.endtime%} |
| Weekday | room.weekday | {%=room.weekday%} |
| Weekday short | room.weekdayshort | {%=room.weekdayshort%} |
| Weekday start | room.weekdayStart | {%=room.weekdayStart%} |
| Weekday short Start | room.weekdayshortStart | {%=room.weekdayshortStart%} |
| Weekday end | room.weekdayEnd | {%=room.weekdayEnd%} |
| Weekday short End | room.weekdayshortEnd | {%=room.weekdayshortEnd%} |
| Id | room.id | {%=room.id%} |
| name | room.name | {%=room.name%} |
| Rate name | room.ratename | {%=room.ratename%} |
| installment code | room.ratecode | {%=room.ratecode%} |
| installment plan | room.rateplan | {%=room.rateplan%} |
| Number of nights | room.nightcount | {%=room.nightcount%} |
| Number of days | room.daycount | {%=room.daycount%} |
| Number of nights (numeric) | room.nightcountf | {%=room.nightcountf%} |
| Number of persons | room.personcount | {%=room.personcount%} |
| Number of persons (numeric) | room.personcountf | {%=room.personcountf%} |
| Description of room category (formatted) | room.unitgroup.description | {%unless empty(room.unitgroup.description)%}{%=html(room.unitgroup.description)%}{%end%} |
| Description Room category 2 (formatted) | room.unitgroup.description2 | {%unless empty(room.unitgroup.description2)%}{%=html(room.unitgroup.description2)%}{%end%} |
| Usage | room.usage | {%=room.usage%} |
| Reservation link (confirmed rooms) | room.reservationLink | {%=room.reservationLink%} |
| Cutoff date | room.cutoff | {%=room.cutoff%} |
| Wash Type | room.washtype | {%=room.washtype%} |
| room.tax | {%=room.tax%} | |
| Possible Values: | room.taxf | {%=room.taxf%} |
| Cutoff | room.total | {%=room.total%} |
| Periodic | room.totalf | {%=room.totalf%} |
| Tax % | room.totalnet | {%=room.totalnet%} |
| Tax (numeric) | room.totalnetf | {%=room.totalnetf%} |
| Total (numeric) | room.totaltax | {%=room.totaltax%} |
| Total (numerical) | room.totaltaxf | {%=room.totaltaxf%} |
| Total net | room.totalWithServices | {%=room.totalWithServices%} |
| Total net (numerical) | room.totalWithServicesf | {%=room.totalWithServicesf%} |
| Total tax | room.totalNetWithServices | {%=room.totalNetWithServices%} |
| Total tax (numerical) | room.totalNetWithServicesf | {%=room.totalNetWithServicesf%} |
|
Average price per night per room |
room.averagePricePerNightPerRoom | {%=room.averagePricePerNightPerRoom%} |
| room.price | {%=room.price%} | |
|
Average price per night per room (numeric) |
room.averagePricePerNightPerRoomf | {%=room.averagePricePerNightPerRoomf%} |
| room.pricef | {%=room.pricef%} | |
|
Average net price per night per room |
room.averagePriceNetPerNightPerRoom | {%=room.averagePriceNetPerNightPerRoom%} |
| room.pricenet | {%=room.pricenet%} | |
|
Average net price per night per room (numerical) |
room.averagePriceNetPerNightPerRoomf | {%=room.averagePriceNetPerNightPerRoomf%} |
| room.pricenetf | {%=room.pricenetf%} | |
|
Average tax per night per room |
room.averagePriceTaxPerNightPerRoom | {%=room.averagePriceTaxPerNightPerRoom%} |
| room.pricetax | {%=room.pricetax%} | |
| Average tax per night per room (numerical) | room.averagePriceTaxPerNightPerRoomf | {%=room.averagePriceTaxPerNightPerRoomf%} |
| room.pricetaxf | {%=room.pricetaxf%} | |
| Average price per night per room incl. services | room.averagePricePerNightPerRoomWithServices | {%=room.averagePricePerNightPerRoomWithServices%} |
| Average price per night per room incl. services (numerical) | room.averagePricePerNightPerRoomWithServicesf | {%=room.averagePricePerNightPerRoomWithServicesf%} |
| Average number of rooms per night | room.averageCountPerNight | {%=room.averageCountPerNight%} |
| Average number of rooms per night (numerical) | room.averageCountPerNightf | {%=room.averageCountPerNightf%} |
| Total number of nights | room.totalquantity | {%=room.totalquantity%} |
| Total number of nights (numerical) | room.totalquantityf | {%=room.totalquantityf%} |
| {%unless empty(room.days)%} | ||
| Days: (USE ONLY FOR NEW FLOW!) | ||
| {%for day in room.days%} | ||
| Start date | day.startdate | {%=day.startdate%} |
| Start time | day.starttime | {%=day.starttime%} |
| End date | day.enddate | {%=day.enddate%} |
| End time | day.endtime | {%=day.endtime%} |
| Date from-to | day.datespan | {%=day.datespan%} |
| Price (numeric) | day.price | {%=day.price%} |
| Price (numeric) | day.pricef | {%=day.pricef%} |
| Tax % | day.tax | {%=day.tax%} |
| Tax (numeric) | day.taxf | {%=day.taxf%} |
| Net price | day.pricenet | {%=day.pricenet%} |
| Price net (numeric) | day.pricenetf | {%=day.pricenetf%} |
| Tax amount | day.pricetax | {%=day.pricetax%} |
| Tax amount (numeric) | day.pricetaxf | {%=day.pricetaxf%} |
| Number of rooms | day.quantity | {%=day.quantity%} |
| Number of rooms (numerical) | day.quantityf | {%=day.quantityf%} |
| Total (numeric) | day.total | {%=day.total%} |
| Total (numerical) | day.totalf | {%=day.totalf%} |
| Total net | day.totalnet | {%=day.totalnet%} |
| Total net (numerical) | day.totalnetf | {%=day.totalnetf%} |
| Total tax | day.totaltax | {%=day.totaltax%} |
| Total tax (numerical) | day.totaltaxf | {%=day.totaltaxf%} |
| Total incl. services | day.totalWithServices | {%=day.totalWithServices%} |
| Total incl. services (numerical) | day.totalWithServicesf | {%=day.totalWithServicesf%} |
| Price incl. services | day.priceWithServices | {%=day.priceWithServices%} |
| Price incl. services (numerical) | day.priceWithServicesf | {%=day.priceWithServicesf%} |
| Citytax price | day.citytaxPrice | {%=day.citytaxPrice%} |
| Citytax price (numerical) | day.citytaxPricef | {%=day.citytaxPricef%} |
| Citytax net | day.citytaxPricenet | {%=day.citytaxPricenet%} |
| Citytax net (numeric) | day.citytaxPricenetf | {%=day.citytaxPricenetf%} |
| Citytax VAT | day.citytaxPricetax | {%=day.citytaxPricetax%} |
| Citytax VAT (numeric) | day.citytaxPricetaxf | {%=day.citytaxPricetaxf%} |
| Citytax total price | day.citytaxTotal | {%=day.citytaxTotal%} |
| Citytax total price (numeric) | day.citytaxTotalf | {%=day.citytaxTotalf%} |
| Citytax total net | day.citytaxTotalnet | {%=day.citytaxTotalnet%} |
| Citytax total net (numeric) | day.citytaxTotalnetf | {%=day.citytaxTotalnetf%} |
| Citytax total VAT | day.citytaxTotaltax | {%=day.citytaxTotaltax%} |
| Citytax total VAT (numeric) | day.citytaxTotaltaxf | {%=day.citytaxTotaltaxf%} |
| {%for citytax in day.citytaxes%} | ||
| Name | citytax.name | {%=citytax.name%} |
| Name Description | citytax.description | {%=citytax.description%} |
| Citytax VAT rate | citytax.tax | {%=citytax.tax%} |
| Citytax VAT rate (numeric) | citytax.taxf | {%=citytax.taxf%} |
| Citytax price | citytax.price | {%=citytax.price%} |
| Citytax price (numeric) | citytax.pricef | {%=citytax.pricef%} |
| Citytax net | citytax.pricenet | {%=citytax.pricenet%} |
| Citytax net (numeric) | citytax.pricenetf | {%=citytax.pricenetf%} |
| Citytax VAT rate | citytax.pricetax | {%=citytax.pricetax%} |
| Citytax VAT (numeric) | citytax.pricetaxf | {%=citytax.pricetaxf%} |
| Citytax total price | citytax.total | {%=citytax.total%} |
| Citytax total price (numeric) | citytax.totalf | {%=citytax.totalf%} |
| Citytax total net | citytax.totalnet | {%=citytax.totalnet%} |
| Citytax total net (numerical) | citytax.totalnetf | {%=citytax.totalnetf%} |
| Citytax total VAT | citytax.totaltax | {%=citytax.totaltax%} |
| Citytax total VAT (numerical) | citytax.totaltaxf | {%=citytax.totaltaxf%} |
| Citytax number | citytax.quantity | {%=citytax.quantity%} |
| Citytax number (numerical) | citytax.quantityf | {%=citytax.quantityf%} |
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| Reservations: | ||
| {%for reservation in room.reservations%} | ||
| Start date | reservation.start | {%=reservation.start%} |
| Start date | reservation.startdate | {%=reservation.startdate%} |
| Start time | reservation.starttime | {%=reservation.starttime%} |
| End date | reservation.end | {%=reservation.end%} |
| End date | reservation.enddate | {%=reservation.enddate%} |
| End time | reservation.endtime | {%=reservation.endtime%} |
| Date from-to | reservation.datespan | {%=reservation.datespan%} |
| First name | reservation.firstname | {%=reservation.firstname%} |
| Last name | reservation.lastname | {%=reservation.lastname%} |
| {%end%} | ||
| {%end%} | ||
| {%unless empty(room.services)%} | ||
| Services: | ||
| {%for service in room.services%} | ||
| Service Name: | service.name | {%=service.name%} |
| Service Description booked service: (formatted) | service.description | {%unless empty(service.description)%}{%=html(service.description)%}{%end%} |
| Service description: (formatted) | service.service.description | {%unless empty(service.service.description)%}{%=html(service.service.description)%}{%end%} |
| Service description 2: (formatted) | service.service.description2 | {%unless empty(service.service.description2)%}{%=html(service.service.description2)%}{%end%} |
| Date from-to: | service.datespan | {%=service.datespan%} |
| Date Time from-to: | service.datetimespan | {%=service.datetimespan%} |
| Time from-to: | service.timespan | {%=service.timespan%} |
| End Time and date: | service.end | {%=service.end%} |
| Start Time and Date: | service.start | {%=service.start%} |
| End Date: | service.enddate | {%=service.enddate%} |
| Start Date: | service.startdate | {%=service.startdate%} |
| End Time: | service.endtime | {%=service.endtime%} |
| Start Time: | service.starttime | {%=service.starttime%} |
| Flag has Parent: (1 ... true) | service.parent | {%=service.parent%} |
| In room: | service.unitgroup | {%=service.unitgroup%} |
| Type: | service.type | {%=service.type%} |
| Created by RatePlanService: | service.isFromRate | {%=service.isFromRate%} |
| Pricingmode | service.pricingmode | {%=service.pricingmode%} |
| Number of hours: | service.durationcount | {%=service.durationcount%} |
| Number of hours (numeric): | service.durationcountf | {%=service.durationcountf%} |
| Number of PAX: | service.personcount | {%=service.personcount%} |
| Number of PAX (numeric): | service.personcountf | {%=service.personcountf%} |
| Number of items: | service.itemcount | {%=service.itemcount%} |
| Number of items (numeric): | service.itemcountf | {%=service.itemcountf%} |
| Total Number of Items | service.quantity | {%=service.quantity%} |
| Total Number of Items (numeric) | service.quantityf | {%=service.quantityf%} |
| Tax % | service.tax | {%=service.tax%} |
| Tax (numeric) | service.taxf | {%=service.taxf%} |
| Price | service.price | {%=service.price%} |
| Price (numeric) | service.pricef | {%=service.pricef%} |
| Net price | service.pricenet | {%=service.pricenet%} |
| Price net (numeric) | service.pricenetf | {%=service.pricenetf%} |
| Tax amount | service.pricetax | {%=service.pricetax%} |
| Tax amount (numeric) | service.pricetaxf | {%=service.pricetaxf%} |
| Total | service.total | {%=service.total%} |
| Total (numeric) | service.totalf | {%=service.totalf%} |
| Total Net | service.totalnet | {%=service.totalnet%} |
| Total Net (numeric) | service.totalnetf | {%=service.totalnetf%} |
| Total tax | service.totaltax | {%=service.totaltax%} |
| Total tax (numeric) | service.totaltaxf | {%=service.totaltaxf%} |
| {%unless empty(service.options)%} | ||
| Services Options: | ||
| {%for option in service.options%} | ||
| Name | option.name | {%=option.name%} |
| Description | option.description | {%unless empty(option.description)%}{%=html(option.description)%}{%end%} |
| Price (numeric) | option.price | {%=option.price%} |
| Price (numeric) | option.pricef | {%=option.pricef%} |
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| {%unless empty(room.serviceTotals)%} | ||
| Service Totals: | ||
| {%for service in room.serviceTotals%} | ||
| Service Name: | service.name | {%=service.name%} |
| Service Description: (formatted) | service.service.description | {%unless empty(service.service.description)%}{%=html(service.service.description)%}{%end%} |
| Service Description 2: (formatted) | service.service.description2 | {%unless empty(service.service.description2)%}{%=html(service.service.description2)%}{%end%} |
| Total number | service.totalquantity | {%=service.totalquantity%} |
| Total number (numeric) | service.totalquantityf | {%=service.totalquantityf%} |
| Tax % | service.tax | {%=service.tax%} |
| Tax (numeric) | service.taxf | {%=service.taxf%} |
| Price | service.price | {%=service.price%} |
| Price (numeric) | service.pricef | {%=service.pricef%} |
| Net price | service.pricenet | {%=service.pricenet%} |
| Net Price (numeric) | service.pricenetf | {%=service.pricenetf%} |
| Tax amount | service.pricetax | {%=service.pricetax%} |
| Tax amount (numeric) | service.pricetaxf | {%=service.pricetaxf%} |
| Total | service.total | {%=service.total%} |
| Total (numeric) | service.totalf | {%=service.totalf%} |
| Total Net | service.totalnet | {%=service.totalnet%} |
| Total Netto (numeric) | service.totalnetf | {%=service.totalnetf%} |
| Total tax | service.totaltax | {%=service.totaltax%} |
| Total tax (numeric) | service.totaltaxf | {%=service.totaltaxf%} |
| {%end%} | ||
| {%end%} | ||
| {%unless empty(room.washList)%} | ||
| Wash List: | ||
| {%for wash in room.washList%} | ||
| Days in advance | wash.daysInAdvance | {%=wash.daysInAdvance%} |
| The date | wash.date | {%=wash.date%} |
| Percentage | wash.percent | {%=wash.percent%} |
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
| {%end%} | ||
Loop syntax
Basically the syntax of the templates is based on the following syntax https://github.com/erdos/stencil/blob/master/docs/index.md Mainly the following structures are used.
Note: all these statements must be implemented within a table structure
Query whether an entire area is to be displayed
Here, for example, the display of the list of overnight accommodations (normalRoomList) or event rooms (meetingRoomList)
|
{%unless (booking.hasNormal == "0")%} oder {%if (booking.hasNormal > "0")%} |
{%=hideRow()%} |
| ... if not empty then... | |
| {%end%} | {%=hideRow()%} |
Loop over all booked days
| {%for bookingDay in bookingDays%} | {%=hideRow()%} |
| ... for all days within the booking.... | |
| {%end%} | {%=hideRow()%} |
Loop over all booked rooms in these days
| {%for room in bookingDay.roomList%} | {%=hideRow()%} |
| ... for all room contingents of this day .... | |
| {%end%} | {%=hideRow()%} |
Loop over all booked days of a room block
| {%for day in room.days%} | {%=hideRow()%} |
| ... for all room contingents of this day .... | |
| {%end%} | {%=hideRow()%} |
Example of possible restrictions of the rooms
|
{%if ((room.status == “2”)| (room.status == “8”)) %} |
{%=hideRow()%} |
| ... if the contingent is optional or confirmed .... | |
| {%end%} | {%=hideRow()%} |
Display a list of all services in a room
|
{%unless empty(room.services)%} |
{%=hideRow()%} |
| ... if there are services .... | |
| {%for service in room.services%} | {%=hideRow()%} |
| ... Output of the services | |
| {%end%} | {%=hideRow()%} |
| {%end%} | {%=hideRow()%} |
Display a list of all services not happening in a room
|
{%unless empty(bookingDay.servicesWithoutRoom)%} |
{%=hideRow()%} |
| ... if there are services without room allocation .... | |
| {%for service in serviceListNoRoom%} | {%=hideRow()%} |
| ... Output of the services | |
| {%end%} | {%=hideRow()%} |
| {%end%} | {%=hideRow()%} |
Output of the totals block at the end or for summary purposes
| Net | {%=booking.totalpricewithouttax%} | |
| {%for tax in taxList%} | {%=hideRow()%} | |
| VAT {%=tax.totaltaxpercent%} % | {%=tax.totaltax%} | |
| {%end%} | {%=hideRow()%} | |
| Total | {%=booking.totalprice%} |
Schedule
| {%for schedulestep in schedulestepList%} | ||
| Title | schedulestep.title | {%=schedulestep.title%} |
| Description | schedulestep.description | {%=schedulestep.description%} |
| Start date | schedulestep.startdate | {%=schedulestep.startdate%} |
| Start time | schedulestep.starttime | {%=schedulestep.starttime%} |
| End time | schedulestep.endtime | {%=schedulestep.endtime%} |
| Room | schedulestep.roomName | {%=schedulestep.roomName%} |
| Block start date | schedulestep.blockStartdate | {%=schedulestep.blockStartdate%} |
| Block start time | schedulestep.blockStarttime | {%=schedulestep.blockStarttime%} |
| Block end date | schedulestep.blockEnddate | {%=schedulestep.blockEnddate%} |
| Block end time | schedulestep.blockEndtime | {%=schedulestep.blockEndtime%} |
| {%end%} |
Calculating with values and formatted output
Numerical values can also be used for calculations within the document. Numeric values are all values ending with "f" for float (e.g. {%=booking.peoplef%} ).
Simple example
booking.totalpricef = 1200
Deposit: {%=( booking.totalpricef / 2) %} Output: 1200.00
Deposit: {%=formatWithLocale("en","%,.2f CHF", (booking.totalpricef / 2))%} Output: 1,200.00 CHF
Output of formatted text
HTML coded text can be printed as formatted text as follows (the check for emptiness is necessary)
{%unless empty(Variable)%}{%=html(Variable)%}{%end%}
Comments
0 comments
Article is closed for comments.