Auto Actions: Difference between revisions

Jump to navigation Jump to search
Lesley (talk | contribs)
Lesley (talk | contribs)
 
(146 intermediate revisions by 4 users not shown)
Line 12: Line 12:
__TOC__
__TOC__


== General Information ==
==Summary==
<div class="summarybox">
An Auto Action is an action which can be used '''manually or programmed to run automatically''' at a time relative to the time of the '''booking''', to the '''check-in''' date or to the '''check-out''' date.


An Auto Action is an action which can be programmed to run at a specific time relative to the time of the '''booking''', to the '''check-in''' date or to the '''check-out''' date.
Auto actions have one or more trigger conditions and one or more actions. They can be triggered on a number of different conditions, like property, time or booking related conditions. Auto Actions can  
 
*send pre-drafted Emails, messages or SMS
Auto actions have one or more trigger conditions and one or more actions. They can be triggered on a number of different conditions, like property, time or booking related conditions. Actions can be to send pre-drafted emails/messages or SMS, change booking or invoice information or run webhooks.
*change booking information
*change invoice information  
*run webhooks
*trigger HTTP POST notifications
You can create chains of actions to automate workflows.
</div>


== General Information ==
Template variables provide great flexibility when creating/managing the Auto Actions. Setup one Auto Action to trigger on multiple/all properties/rooms with the property specific details, using the [[Template Variables]]. This removes the need to duplicate your auto actions for each Property. Reducing the ongoing management, multiple copies of the same auto action will require you to edit/modify each auto action rather than update one auto action.  
Template variables provide great flexibility when creating/managing the Auto Actions. Setup one Auto Action to trigger on multiple/all properties/rooms with the property specific details, using the [[Template Variables]]. This removes the need to duplicate your auto actions for each Property. Reducing the ongoing management, multiple copies of the same auto action will require you to edit/modify each auto action rather than update one auto action.  


Using 'Group Keywords' you can refine the triggers in the Auto Action to include/exclude properties if the purpose/message in the Auto action needs to be different.
Using 'Group Keywords' you can refine the triggers in the Auto Action to include/exclude properties if the purpose/message in the Auto action needs to be different.
<span style="color:#019cde; font-size: 150%;“ >{{#fas:info-circle}}  </span>  Auto Actions are  not designed as real-time actions. They are processed in batches so we recommend you set your triggers to allow for this.


== Setup ==
== Setup ==
Go to {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT > AUTO ACTION


Automatic actions will trigger every 15/20 minutes.
*Click 'Add New Action' button. You can choose whether you want to start with an empty Auto Action or whether you want to use a template that you can customise further.  
 
Go to {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT -> AUTO ACTION
 
You can create a NEW Auto Action, Modify or Delete from this section.
 
*To Create a NEW Auto Action, Click 'Add New Action Button'.  


*To MODIFY an Auto Action, scroll to the Auto Action and click on "Edit", make the changes and click SAVE.
*To MODIFY an Auto Action, scroll to the Auto Action and click on "Edit", make the changes and click SAVE.
Line 47: Line 52:


===Setup Outgoing Email Service - Required for sending Emails via Auto Actions===
===Setup Outgoing Email Service - Required for sending Emails via Auto Actions===
Go to {{#fas:cog}} (SETTINGS) ACCOUNT -> OUTGOING EMAIL and follow the instructions to connect your email address/account to Beds24.
Go to {{#fas:cog}} (SETTINGS) ACCOUNT -> OUTGOING EMAIL and follow the instructions to connect your email address/account to Beds24.


Line 101: Line 105:
'''Time'''  
'''Time'''  


"Trigger Time" defines when the action is allowed to start.  Once it has started it is allowed to go for the "Time Window" period.  When the "Time Window" period has elapsed the auto action stops.  
"Trigger Time" and "Trigger Event" define when the action is allowed to start.  Once it has started it is allowed to go for the "Time Window" period.  When the "Time Window" period has elapsed the auto action stops.


Both "Trigger Time" and "Time Window" are relative to a "Trigger Event"  i.e. check-in, check-out, time of booking.
Both "Trigger Time" and "Time Window" are relative to a "Trigger Event"  i.e. check-in, check-out, time of booking.
Line 153: Line 157:


Other files can not be attached. We recommend you use a link to a file you upload to your web site.
Other files can not be attached. We recommend you use a link to a file you upload to your web site.
===HTML and Templates===
If you use HTML you will need to make sure your code is correct and clean otherwise it might trigger our firewall.
HTML messages created by third party services is often convoluted and might contain critical content. Some tools like https://stripo.email/ or https://www.designedwithbee.com/ that allow you to create your own templates and also provide many  templates have tested to work well in Beds24.


=== SMS ===
=== SMS ===
You can automatically send SMS messages. Please note that a fee per SMS message applies if this function is activated.
You can automatically send SMS messages. Please note that a fee per SMS message applies if this function is activated.
<span style="color:#019cde; font-size: 150%;“ >{{#fas:info-circle}}  </span> SMS can only be used to communicate Information about a current booking. For legal reasons you can not use SMS for marketing purposes including discounts or vouchers.


<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> The SMS will send in the language of the account, not the language of the booking. Read Example "Send an Email in the guests language to an internal Email address" for a way to control the language of the SMS.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> The SMS will send in the language of the account, not the language of the booking. Read Example "Send an Email in the guests language to an internal Email address" for a way to control the language of the SMS.
Line 168: Line 179:
=== Booking Info ===
=== Booking Info ===
Set up auto actions which automatically add or remove info codes. This is good practice for reporting and also to trigger/exclude bookings from other auto actions.
Set up auto actions which automatically add or remove info codes. This is good practice for reporting and also to trigger/exclude bookings from other auto actions.
Booking info codes can be used to 'sequence' your auto actions.
For example, you have an auto action that sends a message to the guest, but only after another action has already triggered.
Consider the auto action to add a pending payment to a booking for the Security deposit authorisation, this should only be triggered when the Booking info code = STRIPEPAYMENT or CARDTOSTRIPE, both confirm the guest credit card is in the booking.


=== Invoice ===
=== Invoice ===
Line 184: Line 201:
=== Webhook ===
=== Webhook ===
Create auto actions which trigger a web hook when the trigger conditions are met.
Create auto actions which trigger a web hook when the trigger conditions are met.
== Same day/Near term bookings ==
With Same day/Near term bookings, consider the actions/messages you want to trigger with your auto actions.
If you have messages/emails that need to send to your guest at various points before they arrive at your property, then for Same day/Near term bookings, you should consider consolidating the information and sending one message/email.
In the Trigger tab of the auto action, 'Between booking and check-in' can be used to manage which bookings the action can be triggered on.
===Example 1 - Same day booking ===
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Between Booking and Check in = 0 and 0 (same day).
For your other auto actions, set the Between Booking and Check in = 1 and 999, then they will not trigger on same day bookings.
===Example 2 - Near term booking ===
If your business process is to send a confirmation message at the time of booking, then the check-in instructions 2 days before arrival, then for same day bookings, you can use 1 auto action.
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Between Booking and Check in = 0 and 2 (Near term).
Message tab: consolidate the message from your standard Confirmation message and check-in instructions.
For your other auto actions, set the Between Booking and Check in = 3 and 999, then they will not trigger on Near term bookings.


== Multiple Properties ==
== Multiple Properties ==
Line 250: Line 294:


<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> This filter will not apply if you are triggering on a single property.
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> This filter will not apply if you are triggering on a single property.
== Using Smart Logic Template Variables ==
You can use smart logic template variables to trigger auto actions for specific conditions.
If you want to send a message on a specific day of the week :-
1) You need to send a message to remind the guests to put the rubbish bin out for collection on a Wednesday night.
* [IF=:[CURRENTDATE:{%u}]:3:yes|no] will test if the current date is a Wednesday
2) Remind the guest that the cleaning lady will be at the apartment on Friday morning.
* [IF=:[CURRENTDATE:{%u}]:4:yes|no] will test if the current date is a Thursday
%u ISO-8601 numeric representation of the day of the week 1 (for Monday) through 7 (for Sunday)


== Performance and Testing ==
== Performance and Testing ==
Auto actions will test up to 1000 bookings per cycle, if your trigger condition involves more than 1000 bookings, the next 1000 will be tested on the next cycle etc.
Auto actions will test up to 1000 bookings per cycle, if your trigger condition involves more than 1000 bookings, the next 1000 will be tested on the next cycle etc.
If you require the fastest speed make sure your trigger is designed to test less than 1000 bookings.
If you require the fastest speed, ensure your trigger is designed to test less than 1000 bookings.


The easiest way to do this is usually by reducing the testing window to the smallest necessary and adjusting the trigger condition to the most suitable.
The easiest way to do this is usually by reducing the testing window to the smallest necessary and adjusting the trigger condition to the most suitable.
For example a trigger that tests all bookings from booking time for 1 year will test many bookings while a trigger that tests only the 7 days before check-in will test less bookings and perform faster.
For example a trigger that tests all bookings from booking time for 1 year will test many bookings while a trigger that tests only the 7 days before check-in will test less bookings and perform faster.


The test tab of the auto action has a button which will show you how many and which bookings are being tested by the auto action.
The '''test tab''' of the auto action has a button that will show you how many and which bookings are being tested by the auto action. The list may include booking that will not trigger the auto action.
To check if the booking meets all the rules, enter the booking number and test if the auto action would trigger on that booking with some diagnostics information shown to help trouble shooting.
Alternatively open the booking and go to the Mail & Action tab, then search for the auto action id, check the details in the Status column.  


It is also possible to specify a booking number and test if the auto action would trigger on that booking with some diagnostics information shown to help trouble shooting.
'''Optimising your auto actions''' You can trigger multiple actions in one auto action,
*send an email/api message to the guest,
*send an SMS, update booking settings,
*add/delete a booking info code,
*trigger a webook,
*add a pending payment,
*update/add/delete a Charge/Payment item,
*assign an invoice number.
 
There is no requirement to set an individual auto action for each item if they can all apply at the same time.
 
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> '''It is not possible to specify a specific time for the auto action to trigger.'''  The use of the Trigger time 'Immediate' + 14 hrs (for example) will not trigger the auto action at 2pm local time, this will be the first time the booking could be checked to see if all other conditions are met, and added to the batch for processing.


== Troubleshooting ==
== Troubleshooting ==
Line 287: Line 358:
  '''Auto Action is not visible in a sub account'''
  '''Auto Action is not visible in a sub account'''
  If you have sub accounts and need an auto action to be used across multiple accounts/properties, then create the auto action at the Master Account Level and set Property = 'All visible in account' and ensure the Master account has access to the properties.
  If you have sub accounts and need an auto action to be used across multiple accounts/properties, then create the auto action at the Master Account Level and set Property = 'All visible in account' and ensure the Master account has access to the properties.
== Use Cases ==
=== Guest Management ===
{| class="wikitable"
! scope="col"| Guest Management
! scope="col"| Link to Auto Action example
|-
|You want to send a confirmation message to bookings received from OTAs/Channels
|[[Auto_Actions#Email_confirmation_for_channel_bookings_-_Select_from_the_predefined_template|Send Confirmation message to Channel bookings]]
|-
|You want to send a booking registration form (PDF) to your guests so they can complete all guest details
|[[Auto_Actions#Send_Email_with_Booking_Registration_Form_-_PDF_attachment|Send an email with Booking registration document (PDF)]]
|-
|Send a confirmation message to the guest when a payment has been received
|[[Auto_Actions#Send_an_Email_to_the_guest_when_a_payment_is_made|Send email/message to confirm receipt of a payment]]
|-
|You want to send an Invoice (PDF) to the guest after checkout
|[[Auto_Actions#Send_invoice_after_check-out_-_PDF_attachment_-_Select_from_the_predefined_template|Send an invoice to the guest after checkout]]
|-
|You want to send an email to the guest confirming their booking has been cancelled
|[[Auto_Actions#Send_an_Email_to_the_guest_when_the_status_of_a_booking_changes_to_.22Cancelled.22|Send Cancellation notice to the guest]]
|-
! scope="col"| Payments
! scope="col"| Link to Auto Action example
|-
|You want to send a payment Request to your guests for all bookings
|[[Auto_Actions#Send_a_Request_for_payment_to_your_guests_for_all_bookings|Send a payment request for all bookings]]
|-
|You want to send a Request for payment to your guests after the booking has been created
|[[Auto_Actions#Send_a_Request_for_payment_to_your_guests_XX_days_after_booking|Send a payment request after the booking]]
|-
|You want to send a Request for payment to your guests XX days BEFORE CHECK-IN
|[[Auto_Actions#Send_a_Request_for_payment_to_your_guests_XX_days_before_check-in|Send a payment request for payment before checkin]]
|-
|STRIPE - Send a Request to 'Authorise' a Security deposit from your guests before check-in
|[[Auto_Actions#Send_a_Request_to_.27Capture.27_a_Security_deposit_from_your_guests_XX_days_before_check-in_-_with_Stripe|Authorise a Security deposit on the Guest credit card]]
|-
|STRIPE - The guest payment has failed, send an email to the guest with the details.
|[[Auto_Actions#Send_an_email_to_the_guest_email_address_when_a_payment_FAILS_at_Stripe|Send an email when the guest payment has failed]]
|-
|STRIPE - The guest's credit card as it will expire before checkin, send a request so they can update their details.
|[[Auto_Actions#Send_a_Request_to_update_the_guest.27s_credit_card_as_it_will_expire_before_checkin|Send a request to update their credit card details]]
|-
! scope="col"| Check-in Details
! scope="col"| Link to Auto Action example
|-
|You want to send an Email with access instructions and a key code 1 day before check-in (Self Checkin)
|[[Auto_Actions#Send_an_Email_with_a_key_code_for_a_specific_unit_one_day_before_check-in_.28Self_Checkin.29|Send access details to your guest prior to arrival]]
|-
|You want to send Email to guests with check-in details before Check-in - Fully paid
|[[Auto_Actions#Send_Email_to_guests_with_check-in_details_2_days_before_Check-in.2C_booking_paid.2Fno_outstanding_balance|Send access details as booking is fully paid]]
|-
|You want to send Email to guests with check-in details before Check-in - Security Deposit Authorised at Stripe
|[[Auto_Actions#Send_Email_to_guests_with_check-in_details_2_days_before_Check-in.2C_Security_Deposit_Authorised_at_Stripe|Send access details as Security deposit authorised at Stripe]]
|-
|}


== Examples ==
== Examples ==
Line 292: Line 437:
=== Send Emails/Message/SMS to guests ===
=== Send Emails/Message/SMS to guests ===


<span style="color:#019cde; font-size: 150%;“ >{{#fas:info-circle}}  </span>  Message API messages will be shown in the message tab of the booking and in the Channel Message centre. Currently this is only available for Booking.com and Airbnb.  
<span style="color:#019cde; font-size: 150%;“ >{{#fas:info-circle}}  </span>  Message API messages will be shown in the message tab of the booking and in the Channel Message centre. Currently this is only available for Booking.com, Airbnb, Expedia and VRBO.  


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
Line 389: Line 534:


Time:
Time:
*Trigger Event = Check-in
*Trigger Event = Booking (but not after check-in)
*Trigger Time = -365 days
*Trigger Time = Immediate
*Trigger Window = 355 days
*Trigger Window = 1 day
*Between Booking and Check in = 10 to 999


Booking Conditions:
Booking Conditions:
Line 702: Line 848:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send an Email to guests from Channels====
====Apply a flag/colour to a booking when a payment is made - ''Select from the predefined template ''====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
'''Trigger tab:'''
'''Trigger tab:'''


Time
Time:
*Trigger Event = Booking
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 1 day
*Trigger Window = 999 day  


Booking Source
Booking Conditions:
*Booking Source = Channel Manager
*Booking Status = All not cancelled
*Invoice Balance = Any Payment made
 
'''Booking tab:'''
 
*Flag Text = Paid
*Flag Colour = d4e4b0
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Email confirmation for channel bookings - ''Select from the predefined template''====
</div>
<div class="mw-collapsible-content">
'''Trigger tab:'''
 
Time
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1 day
 
Booking Source
*Booking Source = Channel Manager


'''Message tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.  
'''Message tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.  
Line 854: Line 1,025:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send a Request for payment to your guests XX days before arrival====
====Send a Request to update the guest's credit card as it will expire before checkin====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 860: Line 1,031:


Time:
Time:
*Trigger Event = Check-in  
*Trigger Event = Booking (not after check-in)
*Trigger Time = -42
*Trigger Time = Immediate
*Trigger Window = 1 day  
*Trigger Window = 1 day


Booking Souce:  
Booking Souce:  
Line 874: Line 1,045:
*Plain text box (Using Message API)
*Plain text box (Using Message API)
Subject - enter the subject for your Guests
Subject - enter the subject for your Guests
Plain Text Message :- enter the Message text you wish to send to your guests include the payment link  
Plain Text Message :- enter the Message text you wish to send to your guests including the payment link  


https://beds24.com/bookpay.php?bookid=[BOOKID]
https://beds24.com/bookpay.php?bookid=[BOOKID]&g=cc


You can find extra options to add to the payment link if you want to refine the details
You can find extra options to add to the payment link if you want to refine the details
Line 884: Line 1,055:
*HTML Message (Send Email)  
*HTML Message (Send Email)  
Edit Email Subject - enter the subject for your Guests
Edit Email Subject - enter the subject for your Guests
Edit Email Text :- enter the Email text you wish to send to your guests include template variable
Edit Email Text :- enter the Email text you wish to send to your guests including the payment link
[PAYLINK] this 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. Check the template variables for other options.  
 
https://beds24.com/bookpay.php?bookid=[BOOKID]&g=cc this creates a link (HTML A tag) so the guest can enter their credit card details. Check the template variables for other options.  


'''Booking tab:'''
'''Booking tab:'''
Line 893: Line 1,065:
*Flag Colour - choose the flag colour
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
'''Booking Info tab:'''
*Booking Info Code = NEWCARDREQ
*Booking Info Text = New credit card requested


</div>
</div>
Line 900: Line 1,077:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send a Request for payment to your guests XX days after booking====
====Send a Request for payment to your guests XX days before check-in====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
'''Trigger tab:'''


You allow your guests to make X number of payments for their booking.
Time:
 
*Trigger Event = Check-in  
You can not trigger the auto action multiple times, unless you manage this manually, therefore you need to create multiple auto actions, so if you allow 3 payments for their booking, then you will need 3 auto actions.
*Trigger Time = -42
 
*Trigger Window = 42 day  
You will need to manually add a Booking Info Code to each booking that you have agreed to allow X payments.
 
'''Create Auto Action one'''
 
'''Trigger tab:'''
 
*Trigger Event = Booking (but not after check-in)
*Trigger Time = +7 days
*Trigger Window = 1 day  


Booking Souce:
*Booking Source = ALL (or select the booking source/Channel)
*Booking Source = ALL (or select the booking source/Channel)
*Invoice Balance = Not Zero
*Any Booking Info Code = MULTIPLE (for example) this can be used if you only allow some guests to make multiple payments.


'''Message tab:'''
'''Message tab:'''  


*Send Message = Booking API/Smart Email
*Send Email = Booking API and Email Smart: If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address.  
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible. If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email. Messages to the Email address entered in the field "Internal" are sent via Email.
If only a masked Email address is available the message sends via the channels API messaging systems if possible. If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email. Messages to the Email address entered in the field "Internal" are sent via Email.


*Plain text box (Using Message API)
*Plain text box (Using Message API)
Line 941: Line 1,109:
Edit Email Text :- enter the Email text you wish to send to your guests include template variable  
Edit Email Text :- enter the Email text you wish to send to your guests include template variable  
[PAYLINK] this 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. Check the template variables for other options.  
[PAYLINK] this 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. Check the template variables for other options.  


'''Booking tab:'''
'''Booking tab:'''
Line 949: Line 1,116:
*Flag Colour - choose the flag colour
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
'''Create additional Auto Actions for each period you want to trigger'''
'''Create Auto Action 2 (and 3, 4, 5 - how many you need) '''
*Trigger Time = +14 days (days you want to collect the payments)
*Trigger Window = 1 day
The use the settings in the previous auto action to trigger the next auto action for your booking.


</div>
</div>
Line 964: Line 1,123:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send a Request to 'Capture' a Security deposit from your guests XX days before check-in - with Stripe====
====Send a Request for payment to your guests XX days after booking====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


You want to capture a Security Deposit for bookings on the day before check-in from your guest.
You allow your guests to make X number of payments for their booking.  


Capture of the payment is only held by Stripe for 7 days, if the guest is staying longer you will need to send the request again.
You can not trigger the auto action multiple times, unless you manage this manually, therefore you need to create multiple auto actions, so if you allow 3 payments for their booking, then you will need 3 auto actions.  


You will need to create multiple emails to capture the payment multiple times for the same booking.
You will need to manually add a Booking Info Code to each booking that you have agreed to allow X payments.  


'''Create Auto Action one'''


'''Trigger tab:'''
'''Trigger tab:'''


*Trigger Event = Check-in
*Trigger Event = Booking (but not after check-in)
*Trigger Time = -1 days
*Trigger Time = +7 days
*Trigger Window = 1 day  
*Trigger Window = 1 day  
*Booking Source = ALL (or select the booking source/Channel)
*Booking Source = ALL (or select the booking source/Channel)
*Status = All not cancelled
*Invoice Balance = Not Zero
*Any Booking Info Code = MULTIPLE (for example) this can be used if you only allow some guests to make multiple payments.


'''Message tab''': For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Message tab:'''


*Send Message = Booking API/Smart Email
*Send Message = Booking API/Smart Email
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible. If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email. Messages to the Email address entered in the field "Internal" are sent via Email.


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
*Plain text box (Using Message API)
Subject - enter the subject for your Guests
Plain Text Message :- enter the Message text you wish to send to your guests include the payment link


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
https://beds24.com/bookpay.php?bookid=[BOOKID]


*Email Subject - enter the subject for your Guests
You can find extra options to add to the payment link if you want to refine the details
https://wiki.beds24.com/index.php/Category:Payments#Payment_Request


*Plain text box - will send to channels using Message API
*HTML Message (Send Email)
Edit Email Subject - enter the subject for your Guests
Edit Email Text :- enter the Email text you wish to send to your guests include template variable
[PAYLINK] this 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. Check the template variables for other options.


Message Text :- enter the text you wish to send to your guests include URL. Template variables can be used [[Template_Variables| see here]], change the pay=100 to the value you require.
https://beds24.com/bookpay.php?bookid=[BOOKID]&g=st&capture=0&pay=100.


*HTML box - Email will be sent
'''Booking tab:'''


Email Text :- It is possible to use the same details (URL) as in the Plain text box above. Template variables can be used [[Template_Variables| see here]]
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.


'''Booking info tab: (Optional)'''
'''Create additional Auto Actions for each period you want to trigger'''
 
'''Create Auto Action 2 (and 3, 4, 5 - how many you need) '''
*Trigger Time = +14 days (days you want to collect the payments)
*Trigger Window = 1 day


*Booking Info Code = SECDEPOSIT (for example)
The use the settings in the previous auto action to trigger the next auto action for your booking.  
*Booking Info Text =  Security deposit request sent.


</div>
</div>
Line 1,014: Line 1,187:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send an Email in the guests language to an internal Email address ====
====Send a Request to 'Capture' a Security deposit from your guests XX days before check-in - with Stripe====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This uses a smart template variable. In this example we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.


'''Trigger tab:'''
You want to capture a Security Deposit for bookings on the day before check-in from your guest.


Time:
Capture of the payment is only held by Stripe for 7 days, if the guest is staying longer you will need to send the request again.
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1


Booking Source:
You will need to create multiple emails to capture the payment multiple times for the same booking.
*Booking Source = All (for example)


Booking Conditions:
*Booking Status = All Not Cancelled


Booking Fields:
'''Trigger tab:'''
*Booking Field Contains - select "Language" in the next field enter: the short code for the language this Auto Action is for.


'''Message tab:'''
*Trigger Event = Check-in
Enter the message in the appropriate language under your default language.
*Trigger Time = -1 days
*Trigger Window = 1 day
*Booking Source = ALL (or select the booking source/Channel)
*Status = All not cancelled


*Send Message = Internal Only
'''Message tab''': For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
 
*Send Message = Booking API/Smart Email
 
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.


*Internal Email Address = enter the email address this message should be sent to.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.


*Email Subject - enter the subject for your Guests
*Email Subject - enter the subject for your Guests
*Plain text box - will send to channels using Message API
Message Text :- enter the text you wish to send to your guests include URL. Template variables can be used [[Template_Variables| see here]], change the pay=100 to the value you require.
https://beds24.com/bookpay.php?bookid=[BOOKID]&g=st&capture=0&pay=100.


*HTML box - Email will be sent
*HTML box - Email will be sent


*Email Text :- Template variables can be used in the message. [[Template_Variables| See here]]
Email Text :- It is possible to use the same details (URL) as in the Plain text box above. Template variables can be used [[Template_Variables| see here]]
 
'''Booking info tab: (Optional)'''
 
*Booking Info Code = SECDEPOSIT (for example)
*Booking Info Text =  Security deposit request sent.


</div>
</div>
Line 1,054: Line 1,237:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send SMS in a certain language (if it is the language of the booking) or a default language====
====Send an email to the guest email address when a payment FAILS at Stripe====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This uses a smart template variable. In this example the auto action will trigger on Booking and for 1 day, we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.
 
Trigger tab:
'''Trigger tab:'''
 
Set the rules to when this Auto Action should trigger.
 
Time:
*Trigger Event = Booking
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 1
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEFAIL, CARDFAILSTRIPE
 
'''Message tab:''' Update details as appropriate
*Send Message = Booking API and Email Smart: If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address.
If only a masked Email address is available the message sends via the channels API messaging systems if possible. If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email. Messages to the Email address entered in the field "Internal" are sent via Email.
 
*Plain text box (Using Message API)
 
Subject - enter the subject for your Guests
Plain Text Message :- enter the Message text you wish to send to your guests including the payment link


Booking Source:
https://beds24.com/bookpay.php?bookid=[BOOKID]
*Booking Source = All (for example)
 
You can find extra options to add to the payment link if you want to refine the details
https://wiki.beds24.com/index.php/Category:Payments#Payment_Request


Booking Conditions:
*HTML Message (Send Email)
*Booking Status = All Not Cancelled
Email Subject - enter the subject for your Guests
Email Text :- enter the Email text you wish to send to your guests include template variable
[PAYLINK] this 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. Check the template variables for other options.


'''Booking tab:'''
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.


'''SMS tab:'''
*Phone Number = [GUESTMOBILE]
*SMS Message = [IF=:[GUESTLANGUAGE]:fr:French_text|English_text]
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
<div class="headline-collapse" >


====Send Remotelock/Lockstate,  Nuki PIN or Chekin Link 2 days before Check-in (Self Checkin) ====
====Send an Email in the guests language to an internal Email address ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This uses a smart template variable. In this example we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.
'''Trigger tab:'''
'''Trigger tab:'''


Time:-
Time:
*Trigger Event = Check-in
*Trigger Event = Booking
*Trigger Time = -2 (the number of days before check-in you want to sent the code or link)
*Trigger Time = Immediate
*Trigger Window = 2
*Trigger Window = 1


Booking Souce :-
Booking Source:
*Booking Source = All
*Booking Source = All (for example)
*Booking Status = All but not cancelled


Booking Conditions:-
Booking Conditions:
*Group bookings = Trigger all on master
*Booking Status = All Not Cancelled


Info Codes :-
Booking Fields:
*Info Code = LOCKSTATE_PIN or NUKI_PIN or CHEKIN_URL (select the appropriate Booking Info Code for the service you use)
*Booking Field Contains - select "Language" in the next field enter: the short code for the language this Auto Action is for.


'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Message tab:'''
Enter the message in the appropriate language under your default language.


*Send Message = Booking API/Smart Email
*Send Message = Internal Only


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
*Internal Email Address = enter the email address this message should be sent to.


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
*Email Subject - enter the subject for your Guests
 
*Subject - enter the subject for your Guests - Your access code (your text)
 
*Plain text box - will send to channels using Message API
 
Message Text :- enter the text you wish to send to your guests include URL. Include these template variables - [BOOKINGINFOCODETEXT:LOCKSTATE_PIN] or [BOOKINGINFOCODETEXT:NUKI_PIN] or [BOOKINGINFOCODETEXT:CHEKIN_PIN] see the list of ALL template variables that can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent


Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Include these template variables - [BOOKINGINFOCODETEXT:LOCKSTATE_PIN] or [BOOKINGINFOCODETEXT:NUKI_PIN] or [BOOKINGINFOCODETEXT:CHEKIN_PIN] see the list of ALL template variables that can be used [[Template_Variables| see here]]
*Email Text :- Template variables can be used in the message. [[Template_Variables| See here]]


</div>
</div>
Line 1,128: Line 1,321:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Pin code to guest, 2 days before Check-in (Self Checkin) ====
====Send SMS in a certain language (if it is the language of the booking) or a default language====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This uses a smart template variable. In this example the auto action will trigger on Booking and for 1 day, we check whether the guest booked in French. If yes, then we send a French text. If no, we send an English text.


This auto action can be used if you have set a fixed PIN code in the Room Setup or using digits from the Booking id.
'''Trigger tab:'''
 
Set the rules to when this Auto Action should trigger.
 
Time:
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1


To setup the PIN code for each Room/Unit then go to {{#fas:cog}}  (SETTINGS) > PROPERTIES > ROOMS > SETUP > UNIT NAMES, then in the unit names, you can add additional information including a pin code.
Booking Source:
*Booking Source = All (for example)


Example:
Booking Conditions:
*Booking Status = All Not Cancelled


You have 2 units (100 and 101). Access Pin Code for 100 = 12345, for 101 - 34567


In "Unit name" enter: (Use (?) in the room setup for more details/options)
'''SMS tab:'''
*Phone Number = [GUESTMOBILE]
*SMS Message = [IF=:[GUESTLANGUAGE]:fr:French_text|English_text]
</div>
</div>


*100|12345
<div class="mw-collapsible mw-collapsed">
*101|34567
<div  class="headline-collapse" >


====Send Remotelock/Lockstate,  Nuki PIN, TTLOCK or Chekin Link 2 days before Check-in (Self Checkin) - ''Select from the predefined template'' ====
</div>
<div class="mw-collapsible-content">
'''Trigger tab:'''
'''Trigger tab:'''


Line 1,154: Line 1,363:
Booking Souce :-  
Booking Souce :-  
*Booking Source = All
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Status = Confirmed


Booking Conditions:-  
Booking Conditions:-  
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
Info Codes :-
*Info Code = LOCKSTATE_PIN or NUKI_PIN or CHEKIN_URL or LOCK_PIN (select the appropriate Booking Info Code for the service you use)


'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
Line 1,171: Line 1,383:
*Plain text box - will send to channels using Message API
*Plain text box - will send to channels using Message API


Message Text :- enter the text you wish to send to your guests include URL. Include these template variables - [UNITNAME] and [UNITNAME:1] or [BOOKIDLAST5] - Last 5 digits of booking number. See the list of ALL template variables that can be used [[Template_Variables| see here]]
Message Text :- enter the text you wish to send to your guests include URL. Include these template variables - [BOOKINGINFOCODETEXT:LOCKSTATE_PIN] or [BOOKINGINFOCODETEXT:NUKI_PIN] or [BOOKINGINFOCODETEXT:CHEKIN_PIN] ] or [BOOKINGINFOCODETEXT:LOCK_PIN] see the list of ALL template variables that can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent


Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Include these template variables - [UNITNAME] and [UNITNAME:1] or [BOOKIDLAST5] - Last 5 digits of booking number. see the list of ALL template variables that can be used [[Template_Variables| see here]]
Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Include these template variables - [BOOKINGINFOCODETEXT:LOCKSTATE_PIN] or [BOOKINGINFOCODETEXT:NUKI_PIN] or [BOOKINGINFOCODETEXT:CHEKIN_PIN] or [BOOKINGINFOCODETEXT:LOCK_PIN] see the list of ALL template variables that can be used [[Template_Variables| see here]]


</div>
</div>
Line 1,183: Line 1,395:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to guests with check-in details 2 days before Check-in, booking paid/no outstanding balance ====
====Send Pin code to guest, 2 days before Check-in (Self Checkin) ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


This auto action will be sent only when the Invoice Balance of the booking is zero. This can be used to ensure that the checkin details are only sent when the guest has completed the payments.
This auto action can be used if you have set a fixed PIN code in the Room Setup or using digits from the Booking id.
 
To setup the PIN code for each Room/Unit then go to {{#fas:cog}}  (SETTINGS) > PROPERTIES > ROOMS > SETUP > UNIT NAMES, then in the unit names, you can add additional information including a pin code.
 
Example:
 
You have 2 units (100 and 101). Access Pin Code for 100 = 12345, for 101 - 34567
 
In "Unit name" enter: (Use (?) in the room setup for more details/options)
 
*100|12345
*101|34567


'''Trigger tab:'''
'''Trigger tab:'''
Line 1,196: Line 1,419:
*Trigger Window = 2
*Trigger Window = 2


Booking Source:-  
Booking Souce :-  
*Booking Source = All
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled
Line 1,202: Line 1,425:
Booking Conditions:-  
Booking Conditions:-  
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Invoice Balance = Zero


'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
Line 1,216: Line 1,438:
*Plain text box - will send to channels using Message API
*Plain text box - will send to channels using Message API


Message Text :- enter the text you wish to send to your guests. This can include any information that is important for the checkin of the guest, for example the Key code for the door, who to contact if there are any issues, template variables can be used, see the list of ALL template variables that can be used [[Template_Variables| see here]]
Message Text :- enter the text you wish to send to your guests include URL. Include these template variables - [UNITNAME] and [UNITNAME:1]  or [BOOKIDLAST5] - Last 5 digits of booking number. See the list of ALL template variables that can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent


Email Text :- Enter the text you wish to send to your guests this can include URLs. Include any information that is important for the checkin of the guest, for example the Key code for the door, who to contact if there are any issues, template variables can be used, see the list of ALL template variables that can be used [[Template_Variables| see here]]
Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Include these template variables - [UNITNAME] and [UNITNAME:1]  or [BOOKIDLAST5] - Last 5 digits of booking number. see the list of ALL template variables that can be used [[Template_Variables| see here]]


</div>
</div>
Line 1,228: Line 1,450:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to guests with check-in details 2 days before Check-in, Security Deposit Authorised at Stripe ====
====Send Email to guests with check-in details 2 days before Check-in, booking paid/no outstanding balance ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


This auto action will be sent only when the a payment has been 'authorised' at Stripe. This can be used to ensure that the checkin details are only sent when the guest has completed the Security Deposit Authorisation.  
This auto action will be sent only when the Invoice Balance of the booking is zero. This can be used to ensure that the checkin details are only sent when the guest has completed the payments.  


'''Trigger tab:'''
'''Trigger tab:'''
Line 1,248: Line 1,470:
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Invoice Balance = Zero
*Invoice Balance = Zero
Info codes :-
*Any Booking Info Code = STRIPEAUTHORIZE


'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
Line 1,276: Line 1,495:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to all current guest  (Check-in) ====
====Send Email to guests with check-in details 2 days before Check-in, Security Deposit Authorised at Stripe ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This auto action will be sent only when the a payment has been 'authorised' at Stripe. This can be used to ensure that the checkin details are only sent when the guest has completed the Security Deposit Authorisation.
'''Trigger tab:'''
'''Trigger tab:'''


Time:
Time:-
*Trigger Event = Check-in
*Trigger Event = Check-in
*Trigger Time = Immediate
*Trigger Time = -2 (the number of days before check-in you want to sent the code or link)  
*Trigger Window = 14(the max number of days your guests can stay)
*Trigger Window = 2


Booking Source:
Booking Source:-
*Booking Source = All
*Booking Source = All
*Booking Status = All but not cancelled


Booking Conditions:  
Booking Conditions:-
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Invoice Balance = Zero


Info Codes:  
Info codes :-
*Any Booking Info Code = CHECKIN
*Any Booking Info Code = STRIPEAUTHORIZE
*Exclude Booking Info Code = CHECKOUT


'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.


*Send Message = Booking API/Smart Email
*Send Message = Booking API/Smart Email
 
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.


*Subject - enter the subject for your Guests
*Subject - enter the subject for your Guests - Your access code (your text)


*Plain text box - will send to channels using Message API
*Plain text box - will send to channels using Message API


Message Text :- enter the text you wish to send to your guests include URL. Template variables can be used [[Template_Variables| see here]]
Message Text :- enter the text you wish to send to your guests. This can include any information that is important for the checkin of the guest, for example the Key code for the door, who to contact if there are any issues, template variables can be used, see the list of ALL template variables that can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent


Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]
Email Text :- Enter the text you wish to send to your guests this can include URLs. Include any information that is important for the checkin of the guest, for example the Key code for the door, who to contact if there are any issues, template variables can be used, see the list of ALL template variables that can be used [[Template_Variables| see here]]


<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkin to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.
</div>
</div>
</div>
</div>
Line 1,323: Line 1,543:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email with Guest Invoice - PDF attachment====
====Send Email to all current guest  (Check-in) ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
You can send Invoice as an attachment to your Guests.
Setup your Invoice go to {{#fas:cog}} (SETTINGS)  GUEST MANAGEMENT -> INVOICING
'''Trigger tab:'''
'''Trigger tab:'''


Time:
Time:
*Trigger Event = Checkout
*Trigger Event = Check-in
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 1 day
*Trigger Window = 14(the max number of days your guests can stay)


Booking Source:
Booking Source:
*Booking Source = All (or select the appropriate channel/Direct)
*Booking Source = All


Booking Conditions:
Booking Conditions:  
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled


Info Codes:
Info Codes:  
*Any Booking Info Code = CHECKOUT
*Any Booking Info Code = CHECKIN
*Exclude Booking Info Code = CHECKOUT  


'''Messaging tab:'''  
'''Messaging tab:''' For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
 
*Send Email = Guest API/Smart Email (or one of the other options)


*Send Message = Booking API/Smart Email
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
*Attachment = Select the Invoice Template from the drop down list.


*Subject - enter the subject for your Guests
*Subject - enter the subject for your Guests
Line 1,368: Line 1,582:
Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]
Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]


<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkout to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.


If you send Emails with pdf attachment (invoice, booking template) to Alias-Email addresses created by channels the channel might block the attachment so it is not delivered to the guest. Ask your channel about their policy regarding this.
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkin to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.
 
Other files can not be attached. We recommend you use a link to a file you upload to your web site.
</div>
</div>
</div>
</div>
Line 1,379: Line 1,590:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email with Booking Registration Form - PDF attachment====
====Send invoice after check-out - PDF attachment - ''Select from the predefined template'' ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


You can send Booking Template attachments to your Guests.  
You can send Invoice as an attachment to your Guests.  


Setup your Booking Template, go to {{#fas:cog}} (SETTINGS)  GUEST MANAGEMENT -> BOOKING TEMPLATES
Setup your Invoice go to {{#fas:cog}} (SETTINGS)  GUEST MANAGEMENT -> INVOICING


'''Trigger tab:'''
'''Trigger tab:'''


Time:
Time:
*Trigger Event = Booking
*Trigger Event = Checkout
*Trigger Time = Immediate
*Trigger Time = Immediate +8hrs
*Trigger Window = 1 day
*Trigger Window = 1 day


Line 1,399: Line 1,610:
Booking Conditions:
Booking Conditions:
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Booking Status = Confirmed
 
Info Codes:
*Any Booking Info Code = CHECKOUT


'''Messaging tab:'''  
'''Messaging tab:'''  


*Send Message = Guest API/Smart Email (or one of the other options)
*Send Email = Guest email - (or one of the other options)


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
*Attachment = Invoice Template 1


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
*Subject - enter the subject for your Guests
 
*Attachment = Select Booking Template from the drop down list.
 
*Subject - enter the subject for your Guests


*Plain text box - will send to channels using Message API
*Plain text box - will send to channels using Message API


Message Text :- enter the text you wish to send to your guests include URL. Template variables can be used [[Template_Variables| see here]]
Message Text :- enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent
Line 1,432: Line 1,642:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email after the cleaner has cleaned the room====
====Send Email with Booking Registration Form - PDF attachment====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


To send an automated Email to the guest then they can check you/the cleaner have to add a unit status to the room when it is ready. In this example we used the unit status clean
You can send Booking Template attachments to your Guests.
 
Setup your Booking Template, go to {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT -> BOOKING TEMPLATES


'''Trigger tab:'''
'''Trigger tab:'''


Time:
Time:
*Trigger Event = Checkin
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 1
*Trigger Window = 1 day


Booking Source:
Booking Source:
*Booking Source = All  
*Booking Source = All (or select the appropriate channel/Direct)


Booking Conditions
Booking Conditions:
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled


Booking Fields:
'''Messaging tab:'''
*Template Variable = [UNITSTATUS1] Contains = clean


'''Messaging tab: '''
*Send Message = Guest API/Smart Email (or one of the other options)
*Send Email = Guest API/Smart Email (or one of the other options)


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.


If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
*Attachment = Select Booking Template from the drop down list.


*Subject - enter the subject for your Guests
*Subject - enter the subject for your Guests
Line 1,466: Line 1,678:
*Plain text box - will send to channels using Message API
*Plain text box - will send to channels using Message API


Message Text :- enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]
Message Text :- enter the text you wish to send to your guests include URL. Template variables can be used [[Template_Variables| see here]]


*HTML box - Email will be sent
*HTML box - Email will be sent


Email Text :- It is possible to use the same details as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]
Email Text :- It is possible to use the same details (URL) as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]
 
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkout to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.


*Attachment :- if you want to send a Booking/Invoice template you can select from the drop down list.  
If you send Emails with pdf attachment (invoice, booking template) to Alias-Email addresses created by channels the channel might block the attachment so it is not delivered to the guest. Ask your channel about their policy regarding this.


Other files can not be attached. We recommend you use a link to a file you upload to your web site.
Other files can not be attached. We recommend you use a link to a file you upload to your web site.
Line 1,481: Line 1,695:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to your guest - Upselling additional nights - nights available after checkout ====
====Send Email after the cleaner has cleaned the room====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


To send an automated Email to the guest confirming that it is possible to extend their stay.
To send an automated Email to the guest then they can check you/the cleaner have to add a unit status to the room when it is ready. In this example we used the unit status clean


This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.
'''Trigger tab:'''
 
'''Trigger Tab :'''  


Time:
Time:
*Trigger Event = Checkin (depending on when you want to notify the guest)
*Trigger Event = Checkin
*Trigger Time = -2 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Time = Immediate
*Trigger Window = 2
*Trigger Window = 1


Booking Source:
Booking Source:
*Booking Source = All  
*Booking Source = All  


Booking Conditions:
Booking Conditions
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled


Booking Fields:
Booking Fields:
*Template Variables = [IFBETWEEN:[TURNOVERDAYS]:0:3:yes|no|no] equal yes
*Template Variable = [UNITSTATUS1] Contains = clean


This template variable tests if there is 3 days between the guest booking and the next booking.
'''Messaging tab: '''
 
*Send Email = Guest API/Smart Email (or one of the other options)
'''Message tab:'''  
 
For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.
 
*Send Message = Booking API/Smart Email


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
Line 1,518: Line 1,725:
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.


*Email Subject - enter the subject for your Guests
*Subject - enter the subject for your Guests


*Plain text box - will send to channels using Message API, enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]
*Plain text box - will send to channels using Message API


[IF<=:[TURNOVERDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [TURNOVERDAYS] extra night(s)|].
Message Text :- enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.


*HTML box - Email will be sent


*HTML box - Email will be sent, enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]
Email Text :- It is possible to use the same details as in the Plain Text box above. Template variables can be used [[Template_Variables| see here]]


[IF<=:[TURNOVERDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [TURNOVERDAYS] extra night(s)|].
*Attachment :- if you want to send a Booking/Invoice template you can select from the drop down list.  
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.  
 
'''Booking Info Tab : Optional '''
*Booking info code = EXTRANIGHTS
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night


Other files can not be attached. We recommend you use a link to a file you upload to your web site.
</div>
</div>
</div>
</div>
Line 1,543: Line 1,744:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to your guest - Upselling additional nights - nights available before checkin ====
====Send Email to your guest - Upselling additional nights - nights available after checkout ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Line 1,551: Line 1,752:
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  


'''Trigger Tab :-'''  
'''Trigger Tab :'''  


Time:
Time:
Line 1,566: Line 1,767:


Booking Fields:
Booking Fields:
*Template Variables = [IFBETWEEN:[VACANTDAYS]:0:3:yes|no|no] equal yes
*Template Variables = [IFBETWEEN:[TURNOVERDAYS]:0:3:yes|no|no] equal yes
 
This template variable tests if there is 3 days between the guest booking and the next booking.
 
'''Message tab:'''


This template variable tests if there is upto 3 days from previous checkout to check in of current booking.  
For channels using the Message API, then enter the text in the Plain text box, for emails enter the text in the HTML box.  


'''Messaging tab :- '''
*Send Message = Booking API/Smart Email
*Send Message = Guest API/Smart Email


If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.
Line 1,577: Line 1,781:
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.


*Subject = Enter the appropriate details
*Email Subject - enter the subject for your Guests


*Plain Text Box = Your text, using the template variables to modify the specific text in the booking.  
*Plain text box - will send to channels using Message API, enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]


[IF<=:[VACANTDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [VACANTDAYS] extra night(s)|].
[IF<=:[TURNOVERDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [TURNOVERDAYS] extra night(s)|].
   
   
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.  
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.  


*HTML Box


[IF<=:[VACANTDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [VACANTDAYS] extra night(s)|].
*HTML box - Email will be sent, enter the text you wish to send to your guests. Template variables can be used [[Template_Variables| see here]]
 
[IF<=:[TURNOVERDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [TURNOVERDAYS] extra night(s)|].
   
   
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.  
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.  


'''Booking Info Tab :- Optional'''
'''Booking Info Tab : Optional '''
*Booking info code = EXTRANIGHTS,
*Booking info code = EXTRANIGHTS  
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night


Line 1,601: Line 1,806:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to your guest - Offering Early Checkin ====
====Send Email to your guest - Upselling additional nights - nights available before checkin ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


To send an automated Email to the guest confirming that it is possible to have an Early Checkin as room is available the day of before arrival.
To send an automated Email to the guest confirming that it is possible to extend their stay.


This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  


Trigger Tab :-  
'''Trigger Tab :-'''
 
Time:
*Trigger Event = Checkin (depending on when you want to notify the guest)
*Trigger Event = Checkin (depending on when you want to notify the guest)
*Trigger Time = -2 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Time = -2 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Window = 2
*Trigger Window = 2
Booking Source:
*Booking Source = All  
*Booking Source = All  
Booking Conditions:
*Group bookings =  Trigger all on master
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled
*Group bookings =  Trigger all on master
*Template Variables = [IF>:[VACANTDAYS]:1:yes|no] equal yes


This template variable tests if there is 1 day between the guest booking and the next booking.
Booking Fields:
*Template Variables = [IFBETWEEN:[VACANTDAYS]:0:3:yes|no|no] equal yes


Message tab :-
This template variable tests if there is upto 3 days from previous checkout to check in of current booking.  
*Send Email = Guest API/Smart Email (or one of the other options)
*EMail Subject = Enter the appropriate details
*Email Text = Your text, using the template variables to modify the specific text in the booking. Enter the text in both Plain text Box (Messaging API) and HTML Box (Emails)


Dear, [GUESTNAME],
'''Messaging tab :- '''
*Send Message = Guest API/Smart Email


We are very happy to offer you 'Early Check-in' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].
If the "Mail & Actions" tab contains a "real" Email address the message is sent to the guests Email address. If only a masked Email address is available the message sends via the channels API messaging systems if possible.


If you would like checkin early for your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EARLYARRIVAL’ for the special Price.
If no connection to a messaging system is available the message will send to the Email address from the "Mail & Actions" tab of the Email.
Best regards,


[PROPERTYCONTACTFIRSTNAME] [PROPERTYCONTACTLASTNAME]
*Subject = Enter the appropriate details
[PROPERTYNAME] 
 
[PROPERTYADDRESS],
*Plain Text Box = Your text, using the template variables to modify the specific text in the booking.
[PROPERTYCITY],
 
[PROPERTYPOSTCODE],
[IF<=:[VACANTDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [VACANTDAYS] extra night(s)|].
[PROPERTYSTATE],
[PROPERTYCOUNTRY].
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.
 
 
Email :-[PROPERTYEMAIL]
*HTML Box
Website :- [PROPERTYWEB]
 
[IF<=:[VACANTDAYS]:3:Your apartment ([ROOMNAME]), which you booked for [NUMNIGHT] nights from [FIRSTNIGHTSHORT] to [LEAVINGDAYSHORT] is currently available for up to [VACANTDAYS] extra night(s)|].
We are very happy to offer you to extend your stay a [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night. If you would like to extend your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EXTRANIGHTS’ for the special Price.


Booking Info Tab :- Optional
'''Booking Info Tab :- Optional'''
*Booking info code = EARLYARRIVAL,  
*Booking info code = EXTRANIGHTS,  
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] Early Checkin
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] per extra night


</div>
</div>
Line 1,653: Line 1,864:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to your guest - Offering Late Checkout ====
====Send Email to your guest - Offering Early Checkin ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


To send an automated Email to the guest confirming that it is possible to have a Late Checkout  as room is available the day of departure.
To send an automated Email to the guest confirming that it is possible to have an Early Checkin as room is available the day of before arrival.


This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  


Trigger Tab :-  
Trigger Tab :-  
*Trigger Event = Checkout
*Trigger Event = Checkin (depending on when you want to notify the guest)
*Trigger Time = -1 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Time = -2 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Window = 1
*Trigger Window = 2
*Booking Source = All  
*Booking Source = All  
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master
*Template Variables = [IF>:[TURNOVERDAYS]:1:yes|no] equal yes
*Template Variables = [IF>:[VACANTDAYS]:1:yes|no] equal yes


This template variable tests if there is 1 day between the guest booking and the next booking.  
This template variable tests if there is 1 day between the guest booking and the next booking.  
Line 1,679: Line 1,890:
Dear, [GUESTNAME],
Dear, [GUESTNAME],


We are very happy to offer you 'Late Check-out' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].
We are very happy to offer you 'Early Check-in' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].
 
If you would like a late checkout, then please send an email to our Reservations team [PROPERTYEMAIL] confirming you would like the Late Checkout, provide your Booking Reservation Number [BOOKID] and Offer ‘LATECHECKOUT’ for the special Price.


If you would like checkin early for your stay then please send an email to our Reservations team [PROPERTYEMAIL] confirming the number of nights you would like to stay and provide your Booking Reservation Number [BOOKID] and Offer ‘EARLYARRIVAL’ for the special Price.
Best regards,
Best regards,


Line 1,697: Line 1,907:


Booking Info Tab :- Optional
Booking Info Tab :- Optional
*Booking info code = LATCHECKOUT,  
*Booking info code = EARLYARRIVAL,  
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] Late Checkout
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] Early Checkin


</div>
</div>
Line 1,706: Line 1,916:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Send Email to your guest - Offering Late Checkout Only on a Sunday when there is no new arrival ====
====Send Email to your guest - Offering Late Checkout ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


To send an automated Email to the guest confirming that it is possible to have a Late checkout on Sundays as the room is available on the day of departure.
To send an automated Email to the guest confirming that it is possible to have a Late Checkout  as room is available the day of departure.
 
This auto action will create a new booking for the date of departure, closing the calendar to any other bookings.
 
The URL link in the message tab, will send the guest to your guest booking page with set conditions, the leaving date of the existing booking, the room id of the existing booking and the Offer you have created for the LateCheckout.  


This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.  


'''Step 1: ''' Create a new offer in {{#fas:cog}} (SETTINGS) > PROPERTIES > OFFERS
Trigger Tab :-
*Trigger Event = Checkout
*Trigger Time = -1 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Window = 1
*Booking Source = All
*Booking Status = All but not cancelled
*Group bookings =  Trigger all on master
*Template Variables = [IF>:[TURNOVERDAYS]:1:yes|no] equal yes


*Name = Latecheckout
This template variable tests if there is 1 day between the guest booking and the next booking.
*Enable = Only if Available
*Booking Type = Confirmed with Deposit 2 - via payment gateway


'''Step 2:''' Create a Rate or Daily Price, PRICES
Message tab :-  
 
*Guests = Max Occupancy
*Max Stay = 1
*Offer = select the offer number as created in the above step.
 
If you are using Rates, select 'Rate allowed' = Sunday, untick all the other days.
Channel Tab, untick all channels, leave only 'beds24.com' for your booking page.
 
If using Daily Prices, then go to Calendar, and set the price and date range, then only Sunday, untick all the other days.
Enable list, untick all channels, leave only 'beds24.com' for your booking page.
 
'''Step 3: ''' Create the Auto Action
 
Trigger Tab :-
*Trigger Event = Checkout
*Trigger Time = -1 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Window = 1
*Booking Source = All
*Booking Status = All but not cancelled
*Between Booking and Check in = 2 and 999 (to stop the auto action triggering on the new booking)
 
*Group bookings =  Trigger all on master
 
*Template Variables = [IF=:[LEAVINGDAY:{%a}]:Sun:|[IF>=^[TURNOVERDAYS]^1^yes~no]] equal yes
 
This template variable tests if the departure day is a Sunday and there is at least 1 day between the existing guest booking and the next booking.
 
Message tab :-  
*Send Email = Guest API/Smart Email (or one of the other options)
*Send Email = Guest API/Smart Email (or one of the other options)
*EMail Subject = Enter the appropriate details  
*EMail Subject = Enter the appropriate details  
Line 1,761: Line 1,944:
We are very happy to offer you 'Late Check-out' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].
We are very happy to offer you 'Late Check-out' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].


If you would like a late checkout, please use this link to make the booking and payment.  
If you would like a late checkout, then please send an email to our Reservations team [PROPERTYEMAIL] confirming you would like the Late Checkout, provide your Booking Reservation Number [BOOKID] and Offer ‘LATECHECKOUT’ for the special Price.


https://beds24.com/booking2.php?checkin=[LEAVINGDAYYYYY-MM-DD]&br7-[ROOMID]
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> The details in the URL, will direct the guest to make a new booking in the existing room with the check-in date = leaving date and for Offer 7 &br-7 (offer created in Step 1 above)
Enter your Booking Reservation Number [BOOKID] into the Booking id box on the booking page.
Best regards,
Best regards,


[PROPERTYCONTACTFIRSTNAME] [PROPERTYCONTACTLASTNAME]  
[PROPERTYCONTACTFIRSTNAME] [PROPERTYCONTACTLASTNAME]
[PROPERTYNAME] 
Email :-[PROPERTYEMAIL]
[PROPERTYADDRESS],
[PROPERTYCITY],
[PROPERTYPOSTCODE],
[PROPERTYSTATE],
[PROPERTYCOUNTRY].
 
Email :-[PROPERTYEMAIL]
Website :- [PROPERTYWEB]
Website :- [PROPERTYWEB]


Booking Info Tab :- Optional
Booking Info Tab :- Optional
*Booking info code = LATCHECKOUT,  
*Booking info code = LATCHECKOUT,  
*Booking Info Description = Upsell email sent [CURRENTDATE]: Late Checkout
*Booking Info Description = Upsell email sent [CURRENTDATE] :[ROOMTEMPLATE3][PROPERTYCURRENCYBACK] Late Checkout


</div>
</div>
</div>
</div>


===Send an email to the Owner/Internal email address ===
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >
====Send an email to the Owner/Internal email address when a payment FAILS at Stripe====
 
====Send Email to your guest - Offering Late Checkout Only on a Sunday when there is no new arrival ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEFAIL, CARDFAILSTRIPE


Messaging tab:
To send an automated Email to the guest confirming that it is possible to have a Late checkout on Sundays as the room is available on the day of departure.
*Send Message = Internal
*Internal Email Address = enter the email address to receive the notification
*Subject = Failed Stripe Payment
*HTML Box = Enter the text to be sent, you can use template variables in this message, for example


[BOOKID] - booking reference number
This auto action will create a new booking for the date of departure, closing the calendar to any other bookings.
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
[FIRSTNIGHT]
[LASTNIGHT]


Booking tab: (optional)
The URL link in the message tab, will send the guest to your guest booking page with set conditions, the leaving date of the existing booking, the room id of the existing booking and the Offer you have created for the LateCheckout.
*Execution = One time only
*Flag Text = Stripe Payment Failed
*Flag Colour - choose the flag colour
</div>
</div>


<div class="mw-collapsible mw-collapsed">
This example uses fixed values that you have entered into {{#fas:cog}} (SETTINGS) > PROPERTIES > ROOMS > SETUP > ROOM TEMPLATES and standard Template Variables set in the Property/Rooms, useful way to utilise the template variables and different values rather than duplicating auto actions.
<div class="headline-collapse" >


====Send an email to the Owner/Internal email address for a new booking====
'''Step 1: ''' Create a new offer in {{#fas:cog}} (SETTINGS) > PROPERTIES > OFFERS
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 1 day
*Booking Source = All
*Booking Status = All but not cancelled


Messaging tab:
*Name = Latecheckout
*Send Message = Internal
*Enable = Only if Available
*Internal Email Address = enter the email address to receive the notification
*Booking Type = Confirmed with Deposit 2 - via payment gateway
*Subject = New Booking
*HTML Box = Enter the text to be sent, you can use template variables in this message, for example


[BOOKID] - booking reference number
'''Step 2:''' Create a Rate or Daily Price, PRICES
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
[FIRSTNIGHT]
[LASTNIGHT]


</div>
*Guests = Max Occupancy
</div>
*Max Stay = 1
*Offer = select the offer number as created in the above step.


===Booking Info Codes===
If you are using Rates, select 'Rate allowed' = Sunday, untick all the other days.
<div class="mw-collapsible mw-collapsed">
Channel Tab, untick all channels, leave only 'beds24.com' for your booking page.
<div  class="headline-collapse" >  
 
====Add CHECKIN Booking info code to bookings ====
If using Daily Prices, then go to Calendar, and set the price and date range, then only Sunday, untick all the other days.
</div>
Enable list, untick all channels, leave only 'beds24.com' for your booking page.
<div class="mw-collapsible-content">
 
'''Step 3: ''' Create the custom question for the booking id
 
Go to {{#fas:cog}} (SETTINGS) > PROPERTIES > BOOKING QUESTIONS > CUSTOM QUESTIONS and create a question
*Question = Booking Id
*Single Line field
*Optional


If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.
'''Step 4: ''' Create the Auto Action


Trigger tab:
Trigger Tab :-
*Trigger Event = Check-in
*Trigger Event = Checkout
*Trigger Time = Immediate
*Trigger Time = -1 days (depending on when you want to notify the guest, in this example 2 days before arrival)
*Trigger Window = 1 day
*Trigger Window = 1
*Booking Source = All
*Booking Source = All  
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled
*Between Booking and Check in = 2 and 999 (to stop the auto action triggering on the new booking)
*Group bookings =  Trigger all on master
*Group bookings =  Trigger all on master


Booking Info tab:
*Template Variables = [IF=:[LEAVINGDAY:{%a}]:Sun:[IF>=^[TURNOVERDAYS]^1^yes~no]|] equal yes
*Booking Info Code = CHECKIN
 
*Booking Info Text = Auto Checkin
This template variable tests if the departure day is a Sunday and there is at least 1 day between the existing guest booking and the next booking.
</div>
</div>


<div class="mw-collapsible mw-collapsed">
Message tab :-  
<div class="headline-collapse" >
*Send Email = Guest API/Smart Email (or one of the other options)
====Add CHECKOUT Booking info code to bookings ====
*EMail Subject = Enter the appropriate details
</div>
*Email Text = Your text, using the template variables to modify the specific text in the booking. Enter the text in both Plain text Box (Messaging API) and HTML Box (Emails)
<div class="mw-collapsible-content">
 
Dear, [GUESTNAME],


If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.  
We are very happy to offer you 'Late Check-out' at [PROPERTYNAME] at the exceptional rate of [ROOMTEMPLATE3][PROPERTYCURRENCYBACK].


Trigger tab:
If you would like a late checkout, please use this link to make the booking and payment.
*Trigger Event = Check-out
*Trigger Time = Immediate
*Trigger Window = 1 day
*Booking Source = All
*Booking Status = All but not cancelled
*Group bookings =  Trigger all on master


Booking Info tab:  
https://beds24.com/booking2.php?propid=[PROPERTYID]&checkin_hide=[LEAVINGDAYYYYY-MM-DD]&br5-[ROOMID]=Book
*Booking Info Code = CHECKOUT
*Booking Info Text = Auto Checkout
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> The details in the URL, will direct the guest to make a new booking in the existing room with the check-in date = leaving date and for Offer 7 &br-7 (offer created in Step 1 above)
<div  class="headline-collapse" >  
====Group check-in ====
</div>
<div class="mw-collapsible-content">
This requires the master booking to be checked-in via the check-in function.


Trigger tab:
Enter your Booking Reservation Number [BOOKID] into the Booking id box on the booking page.
Best regards,


*Trigger Event = After Booking
[PROPERTYCONTACTFIRSTNAME] [PROPERTYCONTACTLASTNAME]
*Trigger Time = immediately
*Trigger Window = 365
Email :-[PROPERTYEMAIL]  
*Booking Source = All
Website :- [PROPERTYWEB]
*Booking Status = All but not cancelled
 
*Group bookings" =  Trigger all on master
Booking Info Tab :- Optional
*Info Code = CHECKIN
*Booking info code = LATCHECKOUT,
*Booking Info Description = Upsell email sent [CURRENTDATE]: Late Checkout


Booking info tab :
*Info Code = CHECKIN
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >
====Identify Repeat Guest ====
 
====Send Email to your guest - On a Wednesday (Cleaner is due/Rubbish Collection is due) ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This requires you to use the Guest database.


Trigger tab:
To send an automated Email to the guest reminding them that there is an event on a specific day of the week, for instance, the cleaner is due on Wednesday mornings, or the bin collection is due on Thursday mornings.
 
You will need to check for the day of the week. If the booking is for more than 1 week, you will need multiple auto actions as an email will only be sent once, it is not possible to trigger multiple times.
 
'''Step 1: ''' Create the Auto Action


*Trigger Event = After Booking
Trigger Tab :-
*Trigger Time = immediately
*Trigger Event = Checkin
*Trigger Window = 365
*Trigger Time = Immediate
*Booking Source = All
*Trigger Window = 8 days
*Booking Source = All  
*Booking Status = All but not cancelled
*Booking Status = All but not cancelled
*Group bookings" =  Trigger all on master
*Template Variable = [GUESTSID1] greater than 0


Booking info tab :  
*Template Variables = [IF=:[CURRENTDATE:{%u}]:3:yes|no] equal yes
*Info Code = REPEAT
 
</div>
%u ISO-8601 numeric representation of the day of the week 1 (for Monday) through 7 (for Sunday)
</div>
 
This template variable tests if the current day is a Wednesday.


<div class="mw-collapsible mw-collapsed">
Message tab :-  
<div  class="headline-collapse" >
*Send Email = Guest API/Smart Email (or one of the other options)
====Identify bookings with Custom Question ticked/unticked ====
*EMail Subject = Enter the appropriate details
</div>
*Email Text = Your text, using the template variables to modify the specific text in the booking. Enter the text in both Plain text Box (Messaging API) and HTML Box (Emails)
<div class="mw-collapsible-content">
 
If you have a custom question with a 'Tick box' for example, they want a late checkin.
Dear, [GUESTNAME],


Setup the custom question in {{#fas:cog}} (SETTINGS)  PROPERTIES -> BOOKING QUESTIONS -> CUSTOM QUESTIONS -> Custom question 1, set with TYPE = Tick Box.  
Hope you are enjoying your holiday at [PROPERTYNAME].


Trigger tab:
We would like to remind you that the cleaner is due to visit you on Thursday morning between 10am and 12am. 


*Trigger Event = After Booking
Best regards,
*Trigger Time =  immediately
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Group bookings" =  Trigger all on master
*Template Variable = [GUESTCUSTOMQ1] equals ticked (or) not ticked


Booking info tab :
[PROPERTYCONTACTFIRSTNAME] [PROPERTYCONTACTLASTNAME]
*Info Code = LATECHECKIN
</div>
Email :-[PROPERTYEMAIL] 
</div>
Website :- [PROPERTYWEB]


Booking Info Tab :- Optional
*Booking Info code = CLEANWED1
*Booking Info text = Reminder that cleaning is due on the first Thursday of their stay.


This can be used to trigger the next auto action if the duration of their holiday is more than 1 week. Include the Booking Info code in the Trigger tab of the next auto action.


===Add invoice items to a booking ===
</div>
</div>


===Send an email to the Owner/Internal email address ===
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >  
====Add a fee to all bookings from a channel====
====Send an email to the Owner/Internal email address when a payment FAILS at Stripe====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Booking Source = Expedia (for example)
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEFAIL, CARDFAILSTRIPE
 
Messaging tab:
*Send Message = Internal
*Internal Email Address = enter the email address to receive the notification
*Subject = Failed Stripe Payment
*HTML Box = Enter the text to be sent, you can use template variables in this message, for example  


Invoice tab:
[BOOKID] - booking reference number
*Add Invoice Item = Add new
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
*Type = Amount
[FIRSTNIGHT]
*Description = Cleaning fee (for example) - Template variables can be used.
[LASTNIGHT]
*Amount = 50 (for example - the amount of your cleaning fee)
*per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


The fee will be added the next time the auto actions run.
Booking tab: (optional)
*Execution = One time only
*Flag Text = Stripe Payment Failed
*Flag Colour - choose the flag colour
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
<div class="headline-collapse" >
 
====Add a fee (Penalty) to all bookings with an Outstanding Balance====


====Send an email to the Owner/Internal email address when a guest completes a Payment Authorisation at Stripe====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
You want to add a 2.2% fee to all bookings if there is an outstanding balance 2 days prior to checkin.
 
Trigger tab:
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEAUTHORIZE


Time :
Messaging tab:
*Trigger Event = Checkin
*Send Message = Internal
*Trigger Time = -2 days
*Internal Email Address = enter the email address to receive the notification
*Trigger Window = 2 days
*Subject = Stripe Payment Authorisation
*HTML Box = Enter the text to be sent, you can use template variables in this message, for example


Booking Conditions:
[BOOKID] - booking reference number
*Status = All not Cancelled
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
*Invoice Balance = Not Zero
[FIRSTNIGHT]
[LASTNIGHT]


Invoice tab:
Booking tab: (optional)
*Type = Amount
*Execution = One time only
*Description = Payment Fee||[INVOICEBALANCE:2.2%]
*Flag Text = Stripe Authorised
*Amount = 0 (leave as 0 so the value is set from the calculation in Description field)
*Flag Colour - choose the flag colour
*Per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)
 
The fee will be added the next time the auto actions run.
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
<div class="headline-collapse" >
 
====Add a negative value to Direct bookings for Stripe Charges====


====Send an email to the Owner/Internal email address for a new booking====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
You want to add the Stripe fee to all Direct bookings to show total value of booking, i.e. if you want to show the booking value. In this example the Stripe charge will be added as a negative figure.  
   
 
Trigger tab:
Trigger tab:
Time :
*Trigger Event = Booking
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 1 day  
*Trigger Window = 1 day
*Booking Source = All
*Booking Status = All but not cancelled


Booking Conditions:
Messaging tab:
*Status = All not Cancelled
*Send Message = Internal
*Internal Email Address = enter the email address to receive the notification
*Subject = New Booking
*HTML Box = Enter the text to be sent, you can use template variables in this message, for example


Booking Source:
[BOOKID] - booking reference number
*Booking Source = Direct
[GUESTNAMES] - name of all guests in the booking on the "summary" tab of the booking
 
[FIRSTNIGHT]
Invoice tab:
[LASTNIGHT]
*Type = Amount
*Description = Stripe Fee||[INVOICECHARGESNUM:-3%]
*Amount = 0 (leave as 0 so the value is set from the calculation in the Description field)
*Per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


The fee/charge will be added the next time the auto actions run.
</div>
</div>
</div>
</div>


===Modify description/values of an existing invoice item in a booking ===
===Booking Info Codes===
 
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >  
====Update the Description field of a charge/invoice item====
====Add CHECKIN Booking info code to bookings ====
 
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


In some cases Channel bookings have different descriptions for the same charge item - i.e. Cleaning, update the description field in the invoice item so they all match, using the format (findthisinvoicedescription^replacewiththisdescription)
If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.


Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Check-in
*Trigger Time = Immediate
*Trigger Time = Immediate
*Booking Source = Expedia (for example)
*Trigger Window = 1 day
 
*Booking Source = All
Invoice tab:
*Booking Status = All but not cancelled
*Add Invoice Item = Update Only
*Group bookings = Trigger all on master
*Type = Change Description
*Description = Cleaning^Cleaning Service Fee
*Invoicee = Ignore (otherwise you can add a specific Invoicee to limit the search)
 


Booking Info tab:
*Booking Info Code = CHECKIN
*Booking Info Text = Auto Checkin
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div class="headline-collapse" >
<div class="headline-collapse" >  
 
====Add CHECKOUT Booking info code to bookings ====
====Update all values of a charge/invoice item====
 
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


You need to change the charges in bookings due to an update in your prices. Tourist Tax (for example), update the description field and value  using the format (findthisinvoicedescription^replacewiththisdescription)
If you need to use the Booking info code CHECKIN/CHECKOUT for reporting/other auto actions, you can set the Booking info code rather than use the Current guest module in the dashboard.


Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Check-out
*Trigger Time = Immediate
*Trigger Time = Immediate
*Time Window = 365
*Trigger Window = 1 day
*Check In From = Select the first date of the Summer Season
*Booking Source = All
*Check In To = Select the last date of the Summer Season
*Booking Status = All but not cancelled
 
*Group bookings = Trigger all on master
*Booking Source = Expedia (for example)
 
Invoice tab:
*Add Invoice Item = Update Only
*Type = Change All  
*Description = Tourist Tax^Tourist Tax - Summer season 2022 (for example)
*Amount = 0.75
*Per = Per Person
*Period = One time
*Invoicee = Ignore (otherwise you can add a specific Invoicee to limit the search)
 


Booking Info tab:
*Booking Info Code = CHECKOUT
*Booking Info Text = Auto Checkout
</div>
</div>
</div>
</div>
===Payments/Pending Payments===


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >  
====Add a pending payment====
====Group check-in - ''Select from predefined templates'' ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
This requires the master booking to be checked-in via the check-in function.
*Trigger Event = After Booking or Before Check-in
*Trigger Time = set the time you want to collect the payment
*Booking Source =All (for example, you can also set different rules for different channels)
*Group Booking Trigger = Trigger only Master (this will trigger on individual bookings and Master booking if a group)


Booking Info tab: Optional
'''Trigger tab:'''
Add a booking info tab for information and reporting
*Flag Text = PendingPayment (for example)
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list


Booking tab: Optional
*Trigger Event = Checkin
*Booking Info Code = PENDPAY
*Trigger Time = immediate
*Booking Info Text = Pending payment added
*Time Window = 1 day


Invoice tab:
Booking conditions:
*Payment Type = select on what the payment is calculated (Percent of Balance due)
*Booking Source = All
*Description = the text you will see in the "Charges and Payments" tab
*Booking Status = All but not cancelled
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Amount = enter the amount or percentage you want to collect
*Payment Rule = use auto or manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT->PAYMENT COLLECTION they will be available here
*Payment Due = Set when the payment is due


*Group bookings" =  Trigger all on master if group
*Info Code = CHECKIN


Create a Payment Rule to collect a payments when bookings are not cancelled.
'''Booking info tab : '''
 
Go to Settings > Payments > Payment Rules
 
Payment Rule :
 
Name = Enter your title - Not Cancelled (for example)
Action = Auto
 
Payment Trigger :
 
*Booking Status = All not cancelled
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
 
Payment Action :
 
*Capture = Yes - immediately charged (Capture=Yes)
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure


*Booking Info Code = CHECKIN
*Booking Info Text = Group checked in
</div>
</div>
</div>
</div>
Line 2,166: Line 2,274:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Add a pending payment - Set the Security Deposit value based on the price of the booking, using a calculation ====
====Identify Repeat Guest ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
This requires you to use the Guest database.
Trigger tab:
Trigger tab:
*Trigger Event = After Booking or Before Check-in
*Trigger Time = set the time you want to collect the payment
*Booking Source =All (for example, you can also set different rules for different channels)


Booking tab: Optional
*Trigger Event = Booking
*Flag Text = PendingPayment (for example)
*Trigger Time =  immediately
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Group bookings" = Trigger all on master
*Template Variable = [GUESTSID1] greater than 0


Booking Info tab: Optional
Booking info tab :  
Add a booking info tab for information and reporting
*Info Code = REPEAT
*Booking Info Code = PENDPAY
</div>
*Booking Info Text = Pending payment added
</div>


Invoice tab:
<div class="mw-collapsible mw-collapsed">
*Payment Type = fixed value
<div class="headline-collapse" >
*Description = Security Deposit||[IF<=:[INVOICEFIRSTITEMNUM]:800:200|[INVOICEFIRSTITEMNUM][/.0]4]
(Security Deposit is the description, then 2 | symbol, then the calculation for the 'Amount' to be set.)
   
This calculation, tests if the first invoice item value (usually the Accommodation value) is greater than or = 800 if so set the Security Deposit Amount = 1 quarter of the first invoice item value, otherwise set = 200.


<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> <span style="font-weight: bold;" >Tip</span> A price value for the invoice item can be specified after a second pipe (|) symbol, this can be used to calculate a price using template variables. If the price value in the description field is zero or absent, the numeric value from the amount field will be used.
====Identify bookings with Custom Question ticked/unticked ====
</div>
<div class="mw-collapsible-content">
If you have a custom question with a 'Tick box' for example, they want a late checkin.  


*Status = if you use the status function add the status you want to apply to the pending payment (optional)
Setup the custom question in {{#fas:cog}} (SETTINGS) PROPERTIES -> BOOKING QUESTIONS -> CUSTOM QUESTIONS -> Custom question 1, set with TYPE = Tick Box.
*Amount = 0
*Payment Rule = use auto or manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) Payments > Payment Rules they will be available here
*Payment Due = Set when the payment is due


Trigger tab:


Create a Payment Rule to collect a payments when bookings are not cancelled.
*Trigger Event = Booking
 
*Trigger Time = Immediate
Go to Settings > Payments > Payment Rules
*Trigger Window = 365
 
*Booking Source = All
Payment Rule :
*Booking Status = All but not cancelled
 
*Group bookings" = Trigger all on master
Name = Enter your title - Not Cancelled (for example)
*Template Variable = [GUESTCUSTOMQ1] equals ticked (or) not ticked
Action = Auto
 
Payment Trigger :
 
*Booking Status = All not cancelled
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
 
Payment Action :
 
*Capture = Yes - immediately charged (Capture=Yes)
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure


Booking info tab :
*Info Code = LATECHECKIN
</div>
</div>
</div>
</div>
===Add invoice items to a booking ===


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
<div  class="headline-collapse" >  
 
====Add a fee to all bookings from a channel====
====Collect outstanding booking balance 3 days prior to arrival( Credit card details were collected at time of booking)====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Booking Source = Expedia (for example)


''''Create a Payment Rule  (Optional)''''
Invoice tab:
 
*Add Invoice Item = Add new
Standard payment rules in the system are Auto & Manual, you can create additional rules for the collection of outstanding payments, you can control the collection of payments if the booking status is changed, for example the booking is cancelled before the final payment is due to be collected.
*Type = Amount
*Description = Cleaning fee (for example) - Template variables can be used.
*Amount = 50 (for example - the amount of your cleaning fee)
*per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


Go to {{#fas:cog}} (SETTINGS)  PAYMENTS > PAYMENT RULES
The fee will be added the next time the auto actions run.
</div>
</div>


Create a Payment Rule to collect payments if bookings are not cancelled.
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >


Click '''Create New Payment Rule''' :
====Add a fee (Penalty) to all bookings with an Outstanding Balance====


Payment Rule:
</div>
*Name = Enter your title - Not Cancelled (for example)
<div class="mw-collapsible-content">
*Action = Auto
You want to add a 2.2% fee to all bookings if there is an outstanding balance 2 days prior to checkin.


Payment Trigger :
Trigger tab:
*Booking Status = All not cancelled
*Any Booking Info Code (optional)
*All Booking Info Codes (optional)
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)


Payment Action :
Time :
*Funding Source = Guest card only
*Trigger Event = Checkin
*Payment value adjustment = Limit to group booking balance
*Trigger Time = -2 days
*Capture = Yes - immediately charged (Capture=Yes)
*Trigger Window = 2 days
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure


Prevent Auto Payment :
Booking Conditions:
*Prevent payment if booking status = Cancelled
*Status = All not Cancelled  
*Prevent payment after check-out (days) = 7 (default)
*Invoice Balance = Not Zero
*Prevent payment action = Set Manual


Invoice tab:
*Type = Amount
*Description = Payment Fee||[INVOICEBALANCE:2.2%]
*Amount = 0 (leave as 0 so the value is set from the calculation in Description field)
*Per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


'''Create Auto Actions '''
The fee will be added the next time the auto actions run.
</div>
</div>


Collect the outstanding balance for bookings created via your booking page.
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >


Go to {{#fas:cog}} (SETTINGS)  GUEST MANAGEMENT > AUTO ACTIONS and click '''Create New Action''' to create them.
====Add a negative value to Direct bookings for Stripe Charges====


'''Collect outstanding balance for direct bookings'''
</div>
<div class="mw-collapsible-content">
You want to add the Stripe fee to all Direct bookings to show total value of booking, i.e. if you want to show the booking value. In this example the Stripe charge will be added as a negative figure. 


Trigger tab:
Trigger tab:
*Time
**Trigger Event = Checkin
**Trigger Time = -3 days (set the time you want to collect the payment)
**Time Window = 3 days (set this to the same number (positive) as Trigger time.


*Booking Source
Time :
**Booking Source = Direct. You can have different auto actions/rules for direct bookings -v- channel bookings, then select ‘Direct’ this will include manually created bookings and booking page bookings.
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1 day
 
Booking Conditions:
*Status = All not Cancelled


*Booking Conditions
Booking Source:
**Group Booking Trigger = Trigger only Master
*Booking Source = Direct
**Status = All not cancelled
**Invoice Balance= Not Zero (can be used to refine the auto action being triggered)
 
Booking tab: Optional
*Flag Text = Pending payment added (for example)
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
 
Booking Info tab: Optional, for information and reporting
*Booking Info Code = BALANCE (for example enter the value - use one word only)
*Booking Info Text = Enter the description/text to show in for the Booking Info Code.


Invoice tab:
Invoice tab:
*Type = Amount
*Description = Stripe Fee||[INVOICECHARGESNUM:-3%]
*Amount = 0 (leave as 0 so the value is set from the calculation in the Description field)
*Per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


<div class="warning">{{#fas:exclamation-triangle}} ONLY use Payment Type =‘ Percent of Group balance due’ if you selected Trigger tab > Booking Conditions > Group Booking Trigger = Trigger Only  Master.</div>
The fee/charge will be added the next time the auto actions run.  
 
</div>
*Add a Pending Payment to the booking
</div>
**Payment Type = Percent of Group Balance due (select on what the payment is calculated)
**Description = the text you will see in the "Charges and Payments" tab
**Status = if you use the status function add the status you want to apply to the pending payment (optional)
**Amount = 100 (this will be 100% of the outstanding group balance)
**Payment Rule = Not Cancelled - See Step 4 above (if you have set up payment rules in {{#fas:cog}} (SETTINGS) PAYMENTS ->PAYMENT RULES they will be available here)
**Payment Due = Trigger date
**Payment time = set the time to collect payment
**Invoicee = If you use the "invoicee" function you can select which invoicee the pending payment will be assigned to.
 
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
<div  class="headline-collapse" >


===='Capture' a Security Deposit when Credit card is collected at time of booking. ====
====Add a new charge - City tax, calculated from number of nights/adults in a booking ====
 
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


Trigger tab:
Some locations have set a cap on the Tourist tax based on the number of adults, upto a max 7 nights, you can use the calculation below to test the values and apply the appropriate charge or the cap.
*Trigger Event = After Booking
*Trigger Time = immediate
*Booking Source =All (for example, you can also set different rules for different channels)


Info Codes:
This example will calculate the Price, testing if the 'number of nights' *'number of adults' *2 *1.03 is greater than 7 (nights) *'number of adults' *1.03
Any Booking Info Code = CARDTOSTRIPE


Invoice tab:
Then set the value = 7* number of adults *2 *1.03
*Payment Type = Fixed amount
ELSE set the value = 'number of nights' * 'number of adults' *2 *1.03
*Description =  Security Deposit (the text you will see in the "Charges and Payments" tab)
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Amount = 100 (balance is full price so 100% of the balance)
*Payment Rule = Security Deposit (Create a Payment Rule, see below)
*Payment Due = check in


Special characters ^~ are required rather than :| as the | can be used as a separator in the Description field to set the Description|Status|Price|VAT


<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> Automatic collection is only available for customer who use [[Stripe]].
Trigger tab:


Create a Payment Rule to 'Capture' a payment only. Captured payments will only be valid for 7 days, then it will expire, if the booking is for a longer period, then you can create a second Capture, you will need to create another auto action for this.
Time :
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1 day


Go to {{#fas:cog}} (SETTINGS)  PAYMENTS > PAYMENT RULES
Booking Conditions:
*Status = All not Cancelled


Payment Rule :  
Booking Source:
*Name = Enter your title - Security Deposit (for example)
*Booking Source = Direct
*Action = Auto
 
Invoice tab:
*Type = Amount
*Description = Tourist Tax|Stayfee|[IF>^[NUMNIGHTS][*][NUMADULT][*]2[*]1.03^7[*][NUMADULT][*]2[*]1.03^7[*][NUMADULT][*]2[*]1.03~[NUMNIGHTS][*][NUMADULT][*]2[*]1.03]
*Amount = 0 (leave as 0 so the value is set from the calculation in the Description field)
*Per = Room
*Period = one time
*VAT = 19% (for example - enter the VAT amount if applicable)


Payment Trigger :
The fee/charge will be added the next time the auto actions run.
*Booking Status = select from the drop down list
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)


Payment Action :
*Capture = Yes/No - immediately charged (Capture=Yes), if you want to make sure that the amount is available for later capture (Capture=No)
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure
</div>
</div>
</div>
</div>
===Modify description/values of an existing invoice item in a booking ===


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
<div  class="headline-collapse" >  
====Update the Description field of a charge/invoice item====


====Apply an info code and and/or icon when a payment was made====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
In some cases Channel bookings have different descriptions for the same charge item - i.e. Cleaning, update the description field in the invoice item so they all match, using the format (findthisinvoicedescription^replacewiththisdescription)
Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = Expedia (for example)
*Booking Source = All
 
*Booking Status = All but not cancelled
Invoice tab:
*Invoice Balance = Any Payment made
*Add Invoice Item = Update Only
*Type = Change Description
*Description = Cleaning^Cleaning Service Fee
*Invoicee = Ignore (otherwise you can add a specific Invoicee to limit the search)
 


Booking Info tab:
*Execution = One time only
*Info Code = Enter the preset code for the icon or info code which you have created in {{#fas:cog}} (SETTINGS) ACCOUNT->PREFERENCES.
</div>
</div>
</div>
</div>
Line 2,380: Line 2,482:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Assign invoice numbers====
====Update all values of a charge/invoice item====
 
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
You need to change the charges in bookings due to an update in your prices. Tourist Tax (for example), update the description field and value  using the format (findthisinvoicedescription^replacewiththisdescription)
Trigger tab:
Trigger tab:
*Trigger Event = Check-out
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Time = Immediate
*Any Booking Info Code = CHECKOUT (optional only if you use the check-out function, if not leave blank)
*Time Window = 365
*Check In From = Select the first date of the Summer Season
*Check In To = Select the last date of the Summer Season
 
*Booking Source = Expedia (for example)


Invoice tab:
Invoice tab:
*Assign Invoice Number = yes
*Add Invoice Item = Update Only
*Type = Change All
*Description = Tourist Tax^Tourist Tax - Summer season 2022 (for example)
*Amount = 0.75
*Per = Per Person
*Period = One time
*Invoicee = Ignore (otherwise you can add a specific Invoicee to limit the search)
 
 
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >
====Using Pending Payments as a Payment Reminder====
 
==== Update VAT value for Charge item - City Tax (for example) ====
 
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking or Before Check-in
*Trigger Time = set the time you want to add the pending payment to the booking
*Booking Source =All (for example, you can also set different rules for different channels)


Booking Info tab:
You need to change the VAT value for specific items (City tax) in the Charges & Payments tab of the booking.
*Optional, add a booking info tab for information and reporting


Booking tab: Optional
Trigger tab:
*Flag Text = PaymentDue1 (for example), set multiple if multiple payments are required.
*Trigger Event = Booking
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
*Trigger Time = Immediate
*Time Window = 365
*Booking Source = Expedia (for example)


Invoice tab:
Invoice tab:
*Payment Type = select on what the payment is calculated (Percent of Balance due)
*Add Invoice Item = Update Only
*Description = the text you will see in the "Charges and Payments" tab
*Type = Change VAT
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Description = City Tax (this needs to be an exact match to the charge item description)  
*Amount = enter the amount or percentage you want to collect
*Amount = 0
*Payment Rule = Manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT->PAYMENT COLLECTION they will be available here
*VAT = 12 (for example)
*Payment Due = Set when the payment is due
*Per = Per Person
 
*Period = One time
The Pending Payment Report is available in Bookings > Pending Payments. This report can be used to see outstanding pending payments, this can be used to see all outstanding payments, when payment gateways other than Stripe are used, the Pending Payments report can be used to see outstanding payments and a checklist for bank transfers.
*Invoicee = Ignore


</div>
</div>
</div>
</div>


===Booking Flags/Colours===
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
==== Update VAT value for the Accommodation fee (first item in the Charges & Payments tab) ====


<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
====Apply a flag when a booking is cancelled====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = After Booking
*Trigger Time = 1 Hour
*Trigger Window = 365 days
*Booking Status = Cancelled


Booking tab:
You need to change the VAT value for the Accommodation fee usually the first line the Charges & Payments tab of the booking.
*Execution = One time only
 
*Booking Status = No Change
Trigger tab:
*Flag text = (enter the text you require)
*Trigger Event = Booking
*Flag Colour = Set as required
*Trigger Time = Immediate
*Time Window = 365
*Booking Source = ALL (or select a specific channel)
 
Invoice tab:
*Add Invoice Item = Update Only
*Type = Change VAT
*Description = [ROOMNAME1] [FIRSTNIGHT] - [LEAVINGDAY][NOCONVERT]
 
Check the Description in the Charges & Payments tab for the Accommodation charge usually [ROOMNAME1] [FIRSTNIGHT] - [LEAVINGDAY]
 
To update this value you also need [NOCONVERT] so the template variable is used rather than the value.
 
*Amount = 0
*VAT = 12 (for example)
*Per = Per Person
*Period = One time
*Invoicee = Ignore
 
</div>
</div>
</div>
</div>
===Payments/Pending Payments===


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >  
====Apply a flag for a bookings from a channel which have breakfast included====
====Add a pending payment====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Booking or Booking (but not after Check-in)
*Trigger Time = Immediate
*Trigger Time = set the time you want to collect the payment
*Booking Source = Booking.com (for example)
*Booking Source =All (for example, you can also set different rules for different channels)
*Booking Field Contains  - select "API Message" in the next field enter: meal_plan=Breakfast  (or Extra Breakfast - use the text the channel uses)
*Group Booking Trigger = Trigger only Master (this will trigger on individual bookings and Master booking if a group)


Booking tab:
Booking Info tab: Optional
*Execution = One time only
Add a booking info tab for information and reporting
*Flag Text = The text you want to display
*Flag Text = PendingPayment (for example)
*Flag Colour - choose the flag colour
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list


Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
Booking tab: Optional
</div>
*Booking Info Code = PENDPAY
</div>
*Booking Info Text = Pending payment added


<div class="mw-collapsible mw-collapsed">
Invoice tab:
<div  class="headline-collapse" >
*Payment Type = select on what the payment is calculated (Percent of Balance due OR Group balance if you receive Group bookings)
====Apply a flag when deposit was made prior to Check-in====
*Description = the text you will see in the "Charges and Payments" tab
</div>
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
<div class="mw-collapsible-content">
*Amount = enter the amount or percentage you want to collect
Trigger tab:
*Payment Rule = use auto or manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) GUEST MANAGEMENT> PAYMENTS they will be available here
*Payment Due = Set when the payment is due


*Trigger Event = Check-in
*Trigger Time = -365 (for example : must be a negative value and the same as the value in Trigger window)
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Invoice Balance = Any Payment made


Message tab:
Create a Payment Rule to collect a payments when bookings are not cancelled.


*Send Email : select appropriate option
Go to Settings > Payments > Payment Rules
*Enter : Subject and Email content


Booking tab: (optional)
Payment Rule :


*Execution = One time only
Name = Enter your title - Not Cancelled (for example)
*Flag Text = The text you want to display
Action = Auto
*Flag Colour - choose the flag colour


Booking info tab : (optional)
Payment Trigger :


*Booking Info Code : DEPOSITPAID (for example)
*Booking Status = All not cancelled
*Booking Info Text : additional text if required.
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)


Setting details with the Booking tab and Booking info tab allows you to trigger additional (follow on) Auto Actions and Reports.
Payment Action :
</div>
</div>


<div class="mw-collapsible mw-collapsed">
*Capture = Yes - immediately charged (Capture=Yes)
<div  class="headline-collapse" >
*Add info code on success = add a Booking Info item to the booking on success
====Apply a flag when booking is fully paid====
*Add info code on failure = add a Booking Info item to the booking on failure
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All not cancelled
*Invoice Balance = ZERO


Booking tab:
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
</div>
</div>
Line 2,521: Line 2,633:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Apply a flag/colour for a booking coming from a certain channel====
====Add a pending payment - Set the Security Deposit value based on the price of the booking, using a calculation ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
Trigger tab:
*Trigger Event = After Booking
*Trigger Event = Booking or Booking (but not after Check-in)
*Trigger Time = Immediate
*Trigger Time = set the time you want to collect the payment
*Booking Source = Booking.com (for example)
*Booking Source =All (for example, you can also set different rules for different channels)


Booking tab:
Booking tab: Optional
*Execution = One time only
*Flag Text = PendingPayment (for example)
*Flag Text = The text you want to display
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
*Flag Colour - choose the flag colour


Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the email.
Booking Info tab: Optional
</div>
Add a booking info tab for information and reporting
</div>
*Booking Info Code = PENDPAY
*Booking Info Text = Pending payment added


<div class="mw-collapsible mw-collapsed">
Invoice tab:
<div  class="headline-collapse" >
*Payment Type = fixed value
====Apply a flag when a payment was made====
*Description = Security Deposit||[IF<=:[INVOICEFIRSTITEMNUM]:800:200|[INVOICEFIRSTITEMNUM][/.0]4]
</div>
(Security Deposit is the description, then 2 | symbol, then the calculation for the 'Amount' to be set.)
<div class="mw-collapsible-content">
   
<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span> Also see Example : " Apply a flag when deposit was made prior to Check-in AND/OR Apply a flag when booking is fully paid".
This calculation, tests if the first invoice item value (usually the Accommodation value) is greater than or = 800 if so set the Security Deposit Amount = 1 quarter of the first invoice item value, otherwise set = 200.


Trigger tab:
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span>  <span style="font-weight: bold;" >Tip</span> A price value for the invoice item can be specified after a second pipe (|) symbol, this can be used to calculate a price using template variables. If the price value in the description field is zero or absent, the numeric value from the amount field will be used.
*Trigger Event = After Booking
 
*Trigger Time = Immediate
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Trigger Window = 365
*Amount = 0
*Booking Source = All
*Payment Rule = use auto or manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) PAYMENTS > PAYMENT RULES they will be available here
*Booking Status = All not cancelled
*Payment Due = Set when the payment is due
*Invoice Balance = Any Payment made
 
 
Create a Payment Rule to collect a payments when bookings are not cancelled.
 
Go to Settings > Payments > Payment Rules
 
Payment Rule :
 
Name = Enter your title - Not Cancelled (for example)
Action = Auto
 
Payment Trigger :
 
*Booking Status = All not cancelled
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
 
Payment Action :
 
*Capture = Yes - immediately charged (Capture=Yes)
*Add info code on success = add a Booking Info item to the booking on success
*Add info code on failure = add a Booking Info item to the booking on failure


Booking tab:
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
</div>
</div>


<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >
====Apply a flag when a payment FAILS at Stripe====
 
====Collect outstanding booking balance 3 days prior to arrival( Credit card details were collected at time of booking)====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEFAIL, CARDFAILSTRIPE


Booking tab:
''''Create a Payment Rule  (Optional)''''
*Execution = One time only
 
*Flag Text = Stripe Payment Failed
Standard payment rules in the system are Auto & Manual, you can create additional rules for the collection of outstanding payments, you can control the collection of payments if the booking status is changed, for example the booking is cancelled before the final payment is due to be collected.
*Flag Colour - choose the flag colour
 
</div>
Go to {{#fas:cog}} (SETTINGS)  PAYMENTS > PAYMENT RULES
</div>


<div class="mw-collapsible mw-collapsed">
Create a Payment Rule to collect payments if bookings are not cancelled.
<div  class="headline-collapse" >


====Apply a flag to Booking.com bookings and auto report the Credit Card when a payment FAILS at Stripe====
Click '''Create New Payment Rule''' :
</div>
<div class="mw-collapsible-content">


Go to Settings > Channel Manager > Preferences and set Auto report failed cards = Yes
Payment Rule:
*Name = Enter your title - Not Cancelled (for example)
Trigger tab:
*Action = Auto
*Trigger Event = After Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = BOOKINGCOMCARD


Booking tab:
Payment Trigger :
*Execution = One time only
*Booking Status = All not cancelled
*Flag Text = Failed CC reported to Booking.com
*Any Booking Info Code (optional)
*Flag Colour - choose the flag colour
*All Booking Info Codes (optional)
</div>
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
</div>


===Status changes===
Payment Action :
<div class="mw-collapsible mw-collapsed">
*Funding Source = Guest card only
<div  class="headline-collapse" >
*Payment value adjustment = Limit to group booking balance
==== Change the status of all "Request" bookings to "Cancelled" after three days ====
*Capture = Yes - immediately charged (Capture=Yes)
</div>
*Add info code on success = add a Booking Info item to the booking on success
<div class="mw-collapsible-content">
*Add info code on failure = add a Booking Info item to the booking on failure
Trigger tab
*Trigger Event = After Booking
*Trigger Time = 3 days
*Booking Status = Request


Booking tab:
Prevent Auto Payment :
*Execution = One time only
*Prevent payment if booking status = Cancelled
*Booking Status = Cancelled
*Prevent payment after check-out (days) = 7 (default)
</div>
*Prevent payment action = Set Manual
</div>


<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >


==== Change the status of all bookings which have been imported from Ical to "Request" ====
'''Create Auto Actions '''
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = After Booking
*Trigger Time = Immediate
*Booking Source = Ical Import (1, 2, 3)


Booking tab:
Collect the outstanding balance for bookings created via your booking page.
*Execution = One time only
*Booking Status = Request


Booking changes are applied before the mail is sent.
Go to {{#fas:cog}} (SETTINGS)  GUEST MANAGEMENT > AUTO ACTIONS and click '''Create New Action''' to create them.
</div>
</div>


'''Collect outstanding balance for direct bookings'''


<div class="mw-collapsible mw-collapsed">
Trigger tab:
<div  class="headline-collapse" >
*Time
**Trigger Event = Checkin
**Trigger Time = -3 days (set the time you want to collect the payment)
**Time Window = 3 days (set this to the same number (positive) as Trigger time.


==== Change Room Unit Status when guest checks out ====
*Booking Source
</div>
**Booking Source = Direct. You can have different auto actions/rules for direct bookings -v- channel bookings, then select ‘Direct’ this will include manually created bookings and booking page bookings.
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Check-out
*Trigger Time = Immediate
*Trigger Window = 1 day
*Booking Status = All but not cancelled
*Any Booking Info Code = CHECKOUT


Booking tab:
*Booking Conditions
*Execution = One time only
**Group Booking Trigger = Trigger only Master
*Change Room Unit Status = Select the option
**Status = All not cancelled
**Invoice Balance= Not Zero (can be used to refine the auto action being triggered)
 
Booking tab: Optional
*Flag Text = Pending payment added (for example)
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
 
Booking Info tab: Optional, for information and reporting
*Booking Info Code = BALANCE (for example enter the value - use one word only)
*Booking Info Text = Enter the description/text to show in for the Booking Info Code.
 
Invoice tab:
 
<div class="warning">{{#fas:exclamation-triangle}} ONLY use Payment Type =‘ Percent of Group balance due’ if you selected Trigger tab > Booking Conditions > Group Booking Trigger = Trigger Only  Master.</div>
 
*Add a Pending Payment to the booking
**Payment Type = Percent of Group Balance due (select on what the payment is calculated)
**Description = the text you will see in the "Charges and Payments" tab
**Status = if you use the status function add the status you want to apply to the pending payment (optional)
**Amount = 100 (this will be 100% of the outstanding group balance)
**Payment Rule = Not Cancelled - See Step 4 above (if you have set up payment rules in {{#fas:cog}} (SETTINGS) PAYMENTS ->PAYMENT RULES they will be available here)
**Payment Due = Trigger date
**Payment time = set the time to collect payment
**Invoicee = If you use the "invoicee" function you can select which invoicee the pending payment will be assigned to.


It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkin to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.
</div>
</div>
</div>
</div>


===API/Webhook===
<div class="mw-collapsible mw-collapsed">
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >  
<div  class="headline-collapse" >
====Use API/Webhook to write to the field 'Message'====
 
===='Capture' a Security Deposit when Credit card is collected at time of booking. ====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


You can use a webhook in conjunction with the API JSON function '''setBooking''' to write to any field in the booking. First you have to configure access to the API:
Trigger tab:
*Trigger Event = Booking
*Trigger Time = immediate
*Booking Source =All (for example, you can also set different rules for different channels)
 
Info Codes:
Any Booking Info Code = CARDTOSTRIPE
 
Invoice tab:
*Payment Type = Fixed amount
*Description =  Security Deposit (the text you will see in the "Charges and Payments" tab)
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Amount = 100 (balance is full price so 100% of the balance)
*Payment Rule = Security Deposit (Create a Payment Rule, see below)
*Payment Due = check in


You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br>
'''API key:'''
*{{#fas:cog}} (SETTINGS) ACCOUNT -> ACCOUNT->ACCESS  "API Key 1"
*API Key = my_very_secret_api_key
*API Key Access = allow any IP
*IP Whitelist = [leave empty]
*Allow Writes = Yes
*Property Access = Owned by this account only
*'''Property key:'''
*{{#fas:cog}} (SETTINGS) PROPERTIES > ACCESS > propKey = secret_key_for_prop_XXXXXX


Set the triggers you need, for example:
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> Automatic collection is only available for customer who use [[Stripe]].


Booking Field Contains: Message = XXX
Create a Payment Rule to 'Capture' a payment only. Captured payments will only be valid for 7 days, then it will expire, if the booking is for a longer period, then you can create a second Capture, you will need to create another auto action for this.


Set the webhook like this:
Go to {{#fas:cog}} (SETTINGS)  PAYMENTS > PAYMENT RULES


* URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
Payment Rule :
* Custom Header = [leave empty]
*Name = Enter your title - Security Deposit (for example)
*Action = Auto


Body Data:
Payment Trigger :
:{
*Booking Status = select from the drop down list
::"authentication":
*Any Booking Info Code = optional
::{
*All Booking Info Codes = optional
:::"apiKey": "my_very_secret_api_key",
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
:::"propKey": "secret_key_for_prop_XXXXXX"
 
::},
Payment Action :
::"bookId": "[BOOKID]",
*Capture = Yes/No - immediately charged (Capture=Yes), if you want to make sure that the amount is available for later capture (Capture=No)
::"message": "[MESSAGE] - Append this message"
*Add info code on success = add a Booking Info item to the booking on success
:}
*Add info code on failure = add a Booking Info item to the booking on failure
</div>
</div>
</div>
</div>
Line 2,709: Line 2,827:
<div  class="headline-collapse" >
<div  class="headline-collapse" >


====Use API/Webhook to write the value of the 'commission' field to a new invoice item====
====Apply an info code and and/or icon when a payment was made====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
You can create a new invoice item that contains the price of the channel's commission as a negative value to subtract it from the room price. You use the API JSON function '''setBooking''' for this. First you need to configure access to the API:
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Invoice Balance = Any Payment made


You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br>
Booking Info tab:
'''API key:'''
*Booking Info Code : Enter the preset code for the icon or info code which you have created in {{#fas:cog}} (SETTINGS) ACCOUNT > PREFERENCES.
*{{#fas:cog}} (SETTINGS) ACCOUNT -> ACCOUNT->ACCESS  "API Key 1"
*Booking Info Text : Enter the text you wish to sho
*API Key = my_very_secret_api_key
*API Key Access = allow any IP
*IP Whitelist = [leave empty]
*Allow Writes = Yes
*Property Access = Owned by this account only
*'''Property key:'''
*{{#fas:cog}} (SETTINGS) PROPERTIES > ACCESS> propKey = secret_key_for_prop_XXXXXX


Set the triggers you need, for example:
Process Template Variables : When created


Booking Source = Booking.com
</div>
</div>


Set the webhook like this:
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >


*URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
====Automatically apply invoice number at check-out - ''Select from predefined templates'' ====
*Custom Header = [leave empty]
 
*Body Data =
:{
::"authentication":
::{
:::"apiKey": "my_very_secret_api_key",
:::"propKey": "secret_key_for_prop_XXXXXX"
::},
::"bookId": "[BOOKID]",
::"invoice":
::[
:::{
::::"description": "Booking.com Commission",
::::"status": "",
::::"qty": "1",
::::"price": "-[COMMISSIONNUM]",
::::"vatRate": "7.00",
::::"type": "0",
::::"invoiceeId": ""
:::}
::]
:}
</div>
</div>
</div>
<div class="mw-collapsible-content">
'''Trigger tab:'''


<div class="mw-collapsible mw-collapsed">
*Trigger Event = Check-out
<div  class="headline-collapse" >
*Trigger Time = Immediate
*Time window = 1 day
 
Booking Conditions:
*Status = Confirmed
 
Info Codes:
*Any Booking Info Code = CHECKOUT (optional only if you use the check-out function)
 
'''Invoice tab:'''
 
*Assign Invoice Number = yes
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Using Pending Payments as a Payment Reminder====
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking or Booking (but not after Check-in)
*Trigger Time = set the time you want to add the pending payment to the booking
*Booking Source =All (for example, you can also set different rules for different channels)
 
Booking Info tab:
*Optional, add a booking info tab for information and reporting
 
Booking tab: Optional
*Flag Text = PaymentDue1 (for example), set multiple if multiple payments are required.
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
 
Invoice tab:
*Payment Type = select on what the payment is calculated (Percent of Balance due)
*Description = the text you will see in the "Charges and Payments" tab
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Amount = enter the amount or percentage you want to collect
*Payment Rule = Manual  - if you have set up payment rules in {{#fas:cog}} (SETTINGS) PAYMENTS > PAYMENT RULES they will be available here
*Payment Due = Set when the payment is due
 
The Pending Payment Report is available in Bookings > Pending Payments. This report can be used to see outstanding pending payments, this can be used to see all outstanding payments, when payment gateways other than Stripe are used, the Pending Payments report can be used to see outstanding payments and a checklist for bank transfers.
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Test if Stripe Authorisation has expired and you need to trigger a new authorisation ====
</div>
<div class="mw-collapsible-content">
Stripe authorisations are dependent on a number of factors including your account type, credit card provider, Stripe rules and the guest bank provider.
 
If you have bookings that are longer than the authorisation period, you will need to create multiple authorisations. You can use the details below in an auto action to test the date/value of the text/description of the Booking info code = 'STRIPEAUTHORIZE'
 
For example you have a booking that is for 14 nights, but the authorisation period is 7 days.
 
Trigger tab:
 
*Trigger Event = Checkin
*Trigger Time =  + 7 days
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
 
Booking Conditions
 
*Group Booking Trigger = Trigger only Master
*Status = All not cancelled
*Invoice Balance= Any
*Minimum Stay = 7
*Maximum Stay = 14
 
Info Codes
*Any booking info code = CARDTOSTRIPE, STRIPEAUTHORIZE
*Exclude Booking Info code = BOOKINGVIRTCARD, EXPEDIACOLLECT, AGODACOLLECT
 
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> If you receive virtual credit cards from the channels, then enter the Booking Info codes to prevent additional pending payments being added to bookings.
 
Booking Fields
*Template Variable = [IF<^[AUTHORIZEUNTIL{%Y-%m-%d}]^[CURRENTDATEYYYY-MM-DD]^yes~no] equal yes
 
The entry in the info tab of the booking will typically be
 
STRIPEAUTHORIZE Authorize 1500.00 EUR until 2024-08-14........
 
Check the substring numbers for your specific bookings, the date starts on the 28th char as the amount is 1500.00
 
Booking tab: Optional
*Flag Text = Security Deposit Pending Payment (for example)
*Flag Colour = select the colour as this will be visible in the Calendar/Bookings list
 
Booking Info tab: If you do not require an auto action to send a payment link to the guest for payment/authorisation, then this is optional.
*Booking Info Code - REFDEPPP (for example)
*Booking Info Text - Refundable Security Deposit pending payment
Invoice tab:
*Add a Pending Payment to the booking
*Payment Type = Fixed amount
*Description = the text you will see in the "Charges and Payments" tab
*Status = if you use the status function add the status you want to apply to the pending payment (optional)
*Amount = 1500 (enter the value you want to authorise on the guest credit card )
*Payment Rule = Security Deposit (use the payment rule)
*Payment Due = Trigger date
*Payment time = set the time to collect payment
*Invoicee = If you use the "invoicee" function you can select which invoicee the pending payment will be assigned to.
 
<span style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span> If you accept Virtual Credit Cards from the channels, then you will need to send a payment link to either collect the guest credit card to then authorise the Security Deposit on their personnel card OR send a payment link so the guest can authorise the payment on their own credit card, it is not possible to take a Security deposit from a virtual card.
 
</div>
</div>
 
===Booking Flags/Colours===
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
====Apply a flag when a booking is cancelled====
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Booking
*Trigger Time = 1 Hour
*Trigger Window = 365 days
*Booking Status = Cancelled
 
Booking tab:
*Execution = One time only
*Booking Status = No Change
*Flag text = (enter the text you require)
*Flag Colour = 999999 default cancel colour - (Set as required)
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag for a bookings from a channel which have breakfast included====
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Booking Source = Booking.com (for example)
*Booking Field Contains  - select "API Message" in the next field enter: meal_plan=Breakfast  (or Extra Breakfast - use the text the channel uses)
 
Booking tab:
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
 
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the Email.
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag for a bookings which has BREAKFAST as a charge item====
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Booking Source = Booking.com (for example)
*Template Variable = [IF>:[INVOICEITEMBYDESC:Breakfast]:0:yes|no] (Text for Breakfast has to match EXACTLY what is in the booking item Uppercase/Lowercase/Proper)
*Select 'equal' from the selection box
*yes (needs to be exactly the same text/upper/lowercase, as in the equation)
 
Booking tab:
*Execution = One time only
*Flag Text = Breakfast
*Flag Colour - choose the flag colour
 
Booking Info tab:
*Booking Info Code = BREAKFAST
*Booking Info Description = Breakfast included
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag when deposit was made prior to Check-in====
</div>
<div class="mw-collapsible-content">
Trigger tab:
 
*Trigger Event = Check-in
*Trigger Time = -365 (for example : must be a negative value and the same as the value in Trigger window)
*Trigger Window = 365
*Booking Source = All
*Booking Status = All but not cancelled
*Invoice Balance = Any Payment made
 
Message tab:
 
*Send Email : select appropriate option
*Enter : Subject and Email content
 
Booking tab: (optional)
 
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
 
Booking info tab : (optional)
 
*Booking Info Code : DEPOSITPAID (for example)
*Booking Info Text : additional text if required.
 
Setting details with the Booking tab and Booking info tab allows you to trigger additional (follow on) Auto Actions and Reports.
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
====Apply a flag when booking is fully paid====
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All not cancelled
*Invoice Balance = ZERO
 
Booking tab:
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag/colour for a booking coming from a certain channel - ''Select from the predefined template'' ====
</div>
<div class="mw-collapsible-content">
 
'''Trigger tab:'''
 
*Trigger Event = Booking
*Trigger Time = Immediate
*Booking Source = Booking.com (for example)
 
'''Booking tab:'''
 
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
 
Booking changes are applied before the mail is sent so that the flag template variable can be reflected in the email.
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag when NO payment is made - ''Select from the predefined template''====
</div>
<div class="mw-collapsible-content">
 
'''Trigger tab:'''
 
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 1 day
 
Booking Source:
*Booking Source = All
 
Booking Conditions:
*Booking Status = All not cancelled
*Invoice Balance = No payment made
 
'''Booking tab:'''
 
*Execution = One time only
*Flag Text = Not Paid
*Flag Colour = fee0dd
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag when a payment was made====
</div>
<div class="mw-collapsible-content">
<span style="color: #f3e504; font-size: 250%;" >{{#fas:lightbulb}} </span>  Also see Example : " Apply a flag when deposit was made prior to Check-in AND/OR Apply a flag when booking is fully paid".
 
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Trigger Window = 365
*Booking Source = All
*Booking Status = All not cancelled
*Invoice Balance = Any Payment made
 
Booking tab:
*Execution = One time only
*Flag Text = The text you want to display
*Flag Colour - choose the flag colour
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag when a payment FAILS at Stripe - ''Select from predefined template'' ====
</div>
<div class="mw-collapsible-content">
'''Trigger tab:'''
 
*Trigger Event = Booking (but not after check-in)
*Trigger Time = Immediate
*Trigger Window = 999
 
Booking Source:
*Booking Source = All
*Booking Status = All but not cancelled
*Booking Info Code = STRIPEFAIL, CARDFAILSTRIPE
 
'''Booking tab:'''
 
*Execution = One time only
*Flag Text = Stripe Payment Failed
*Flag Colour - fee0dd
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag to Booking.com bookings and auto report the Credit Card when a payment FAILS at Stripe====
</div>
<div class="mw-collapsible-content">
 
Go to Settings > Channel Manager > Preferences and set Auto report failed cards = Yes
'''Trigger tab:'''
 
*Trigger Event = Booking (but not after checkout)
*Trigger Time = Immediate
*Trigger Window = 999
 
Booking Source:
*Booking Source = Booking.com
 
Booking Conditions:
*Booking Status = All not cancelled
*Booking Info Code = BOOKINGCOMCARD
 
'''Booking tab:'''
 
*Execution = One time only
*Flag Text = Failed CC reported to Booking.com
*Flag Colour - choose the flag colour
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Apply a flag when booking has been Checked-in====
</div>
<div class="mw-collapsible-content">
Trigger tab:
 
*Trigger Event = Check-in
*Trigger Time = Immediate
*Trigger Window = 1 day
*Booking Source = All
*Booking Status = All but not cancelled
*Any booking info code = CHECKIN
 
Booking tab:
 
*Execution = One time only
*Flag Text = Guest checked in (or any text you want to see)
*Flag Colour - choose the flag colour
 
</div>
</div>
 
===Status changes===
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
==== Change the status of all "Request" bookings to "Cancelled" after three days ====
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Booking
*Trigger Time = 3 days
*Booking Status = Request
 
Booking tab:
*Execution = One time only
*Booking Status = Cancelled
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
==== Change the status of Airbnb "Inquiry" bookings to "Cancelled" after three days ====
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Booking
*Trigger Time = 3 days
*Booking Status = Inquiry
*Booking Source = Airbnb
 
Booking tab:
*Execution = One time only
*Booking Status = Cancelled
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
==== Change the booking status from Inquiry to Confirmed when the payment is made ====
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Booking
*Trigger Time = 365 days
*Booking Status = Inquiry
*Booking Source = ALL
*Invoice Balance = Any payment Made
 
Booking tab:
*Execution = One time only
*Booking Status = Cancelled
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
==== Change the status of all bookings which have been imported from Ical to "Request" ====
</div>
<div class="mw-collapsible-content">
Trigger tab:
*Trigger Event = Booking
*Trigger Time = Immediate
*Booking Source = Ical Import (1, 2, 3)
 
Booking tab:
*Execution = One time only
*Booking Status = Request
 
Booking changes are applied before the mail is sent.
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
==== Change Room Unit Status when guest checks out ====
</div>
<div class="mw-collapsible-content">
Trigger tab
*Trigger Event = Check-out
*Trigger Time = Immediate
*Trigger Window = 1 day
*Booking Status = All but not cancelled
*Any Booking Info Code = CHECKOUT
 
Booking tab:
*Execution = One time only
*Change Room Unit Status = Select the option
 
It is assumed you use the Checkin/Checkout feature in the Dashboard, if not you can either manually add Checkin to your bookings (Booking info tab) or create an auto action to add the Booking Info Codes to the bookings.
</div>
</div>
 
===API/Webhook===
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
====Use API/Webhook to write to the field 'Message'====
</div>
<div class="mw-collapsible-content">
 
You can use a webhook in conjunction with the API JSON function '''setBooking''' to write to any field in the booking. First you have to configure access to the API:
 
You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br>
'''API key:'''
*{{#fas:cog}} (SETTINGS) ACCOUNT > ACCOUNT >ACCESS  "API Key 1"
*API Key = my_very_secret_api_key
*API Key Access = allow any IP
*IP Whitelist = [leave empty]
*Allow Writes = Yes
*Property Access = Owned by this account only
*'''Property key:'''
*{{#fas:cog}} (SETTINGS) PROPERTIES > ACCESS > propKey = secret_key_for_prop_XXXXXX
 
Set the triggers you need, for example:
 
Booking Field Contains: Message = XXX
 
Set the webhook like this:
 
* URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
* Custom Header = [leave empty]
 
Body Data:
:{
::"authentication":
::{
:::"apiKey": "my_very_secret_api_key",
:::"propKey": "secret_key_for_prop_XXXXXX"
::},
::"bookId": "[BOOKID]",
::"message": "[MESSAGE] - Append this message"
:}
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Use API/Webhook to write the value of the 'commission' field to a new invoice item====
</div>
<div class="mw-collapsible-content">
You can create a new invoice item that contains the price of the channel's commission as a negative value to subtract it from the room price. You use the API JSON function '''setBooking''' for this. First you need to configure access to the API:
 
You need two keys to use our API JSON functions - one for the API itself and one for the property. The keys have to consist of 16 characters of your choosing.<br>
'''API key:'''
*{{#fas:cog}} (SETTINGS) ACCOUNT > ACCOUNT > ACCESS  "API Key 1"
*API Key = my_very_secret_api_key
*API Key Access = allow any IP
*IP Whitelist = [leave empty]
*Allow Writes = Yes
*Property Access = Owned by this account only
*'''Property key:'''
*{{#fas:cog}} (SETTINGS) PROPERTIES > ACCESS > propKey = secret_key_for_prop_XXXXXX
 
Set the triggers you need, for example:
 
Booking Source = Booking.com
 
Set the webhook like this:
 
*URL = <nowiki>https://api.beds24.com/json/setBooking</nowiki>
*Custom Header = [leave empty]
 
*Body Data =
:{
::"authentication":
::{
:::"apiKey": "my_very_secret_api_key",
:::"propKey": "secret_key_for_prop_XXXXXX"
::},
::"bookId": "[BOOKID]",
::"invoice":
::[
:::{
::::"description": "Booking.com Commission",
::::"status": "",
::::"qty": "1",
::::"price": "-[COMMISSIONNUM]",
::::"vatRate": "7.00",
::::"type": "0",
::::"invoiceeId": ""
:::}
::]
:}
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >


====Use Auto Action/Webhook to write to send data to Integromat====
====Use Auto Action/Webhook to write to send data to Integromat====
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
 
 
You can use this option to send data to your Integromat account.  
You can use this option to send data to your Integromat account.  
 
 
Set the rules in the Trigger tab, when you need to send the data to Integromat.  
Set the rules in the Trigger tab, when you need to send the data to Integromat.  
 
 
Go to Webhook tab:
Go to Webhook tab:
 
 
URL = https://hook.integromat.com/ followed by your integromat account key.
URL = https://hook.integromat.com/ followed by your integromat account key.
 
 
Body Data = you can use the template variables allows in the list for Integromat [[https://wiki.beds24.com/index.php/Make#Data_Fields Data fields]]
Body Data = you can use the template variables allows in the list for Integromat [[https://wiki.beds24.com/index.php/Make#Data_Fields Data fields]]
 
 
For example :-  
For example :-  
 
 
bookingData={
bookingData={
 
 
"bookId":"[BOOKID]",
"bookId":"[BOOKID]",
 
 
"guestMobileNum":"[GUESTMOBILENUM]",
"guestMobileNum":"[GUESTMOBILENUM]",
 
 
"guestMobile":"[GUESTMOBILE]",
"guestMobile":"[GUESTMOBILE]",
 
 
"guestSMS":"[GUESTSMS:44]",
"guestSMS":"[GUESTSMS:44]",
 
 
"guestFirstName":"[REPLACE|&|and|[GUESTFIRSTNAME]]",
"guestFirstName":"[REPLACE|&|and|[GUESTFIRSTNAME]]",
 
 
"propertyName":"[PROPERTYNAME]",
"propertyName":"[PROPERTYNAME]",
 
"propertyId":"[PROPERTYID]",
 
"firstNight":"[FIRSTNIGHTSHORT]",
 
"lastNight":"[LEAVINGDAYSHORT]"
 
}
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====Use webhook to switch a Shelly on====
</div>
<div class="mw-collapsible-content">
Here is a simple PHP script with which you can switch a Shelly via an autoaction in beds24.
 
You can use this to switch on a string of lights on the day of arrival or to charge the night storage heating if a certain info code is set in the booking on the day before arrival.
 
Create an auto action and enter the PHP script ‘beds24-shelly-steuern.php’ under ‘Webhook’. The parameters for the control are transferred under ‘Data in body’:
 
 
id:b0b21c1xxxxx
shelly_server:shelly-123-eu.shelly.cloud
auth_key:ABCDEFGHIJKLMNPQRSTUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZABCDEFGHIJKLMNPQRSTUVWXYZ
shelly_url:device/relay/control
parameter:channel=0&turn=on
email_result:[email protected]
remarks:Text, z.B. mit Template Variablen [GUESTFULLNAME] und [BOOKID]
 
</div>
</div>
 
<div class="mw-collapsible mw-collapsed">
<div  class="headline-collapse" >
 
====V2 version of the code for Shelly ====
</div>
<div class="mw-collapsible-content">
Here is the second version v2 of the PHP script to switch on a Shelly device via an autoaction.
 
Now you can also store the device IDs in the script instead of adding them to the body parameters. This makes it possible to switch a Shelly device with a single autoaction. The device ID is then determined via the template variable [INTERNALROOMNAME].
Code: Select all
 
 
<?php
/*
* - Anschalten der Lichterkette aus beds24 mit einem PHP Skript über die Shelly Cloud -
* Version 2 vom 10.12.2024 - mehrere Devices im Array im Skript möglich
*
* https://domainname.de/scripte/beds24-shelly-steuern-v2.php
*
* curl -X POST https://shelly-123-eu.shelly.cloud/device/relay/control -d "channel=0&turn=on&id=b0b21c123456&auth_key=abcdefghijklmnopqrstuvwxyz1234567890"
 
* Einstellungen in beds24
* - in einer Autoaction unter 'Webhook' das Script eintragen: https://domainname.de/pfad_zum_script/beds24-shelly-steuern-v2.php
* - alternativ wenn Geräte-Id überINTERNALROOMNAME im Skript selbst: https://domainname.de/pfad_zum_script/beds24-shelly-steuern-v2?roomname=[INTERNALROOMNAME]
* - unter 'Daten im Body' die Parameter zur Steuerung eintragen:
* - id:<Shelly Geräte-Id>    ===> alternativ mehrere Geräte-Id im Skript selbst
* - shelly_server:<Shelly Cloud Server>
* - auth_key:<Shelly Cloud-Autorisierungs-Schlüssel>
* - parameter:<Shelly Befehle>
* - email_result:<*optional* e-mail für Empfänger des Schaltergebnisses>
* - remarks:<*optional* beliebige Anmerkungen für E-Mail>
*
* Beispiel:
* id:b0b21c123456
* shelly_server:shelly-123-eu.shelly.cloud
* auth_key:abcdefghijklmnopqrstuvwxyz1234567890
* shelly_url:device/relay/control
* parameter:channel=0&turn=on
* email_result:[email protected]
* remarks:Text, auch mit Template Variablen [GUESTFULLNAME] und [BOOKID]/[INTERNALROOMNAME] möglich
*/
 
/* ----------------------------------------------------------- */
/* Parameter & Einstellungen */
/* ----------------------------------------------------------- */
/* Shelly Geräte-ID entweder beim Aufruf in beds24 über die 'Daten im Body' übergeben oder hier im Skript eintragen. Wenn im Script, dann beim Aufruf die Templatevariable [INTERNALROOMNAME] mitgeben, über die erfolgt dann die Auswahl hier im Array */
$p_geraete_ids = array (
"chalet" => "e465b8123456",
"fewo" => "b0b21c123456",
"linx" => "e465b8123456"
);
 
$p_test = false; /* im Testmodus kommen die Parameter direkt aus dem Script statt über beds24 */
/* Body Daten zum direkten Testen d.h. Direktaufruf des Scripts ohne Autoaction */
$test_body = array(  /* zum direkten Aufruf des Scripts die Parameter hier testweise eintragen */
/* https://shelly-api-docs.shelly.cloud/cloud-control-api/communication */
"id" => "xxx",    /* rausnehmen, wenn ids über Array kommen sollen */
"shelly_server" => "shelly-123-eu.shelly.cloud",
"auth_key" => "abcdefghijklmnopqrstuvwxyz1234567890",
"shelly_url" => "device/relay/control",
"parameter" => "channel=0&turn=on",
"email_result" => "[email protected]",
"remarks" => "Text, z.B. mit Template Variablen [GUESTFULLNAME] und [BOOKID]"
);
 
/* ----------------------------------------------------------- */
/* ab hier normalerweise keine Änderungen mehr vornehmen
/* ----------------------------------------------------------- */
$hf_internalroomname = filter_var($_GET["roomname"], FILTER_SANITIZE_STRING);  /* wenn über ?roomname=[INTERNALROOMNAME] übergeben
 
/* Body aus Post message lesen und in Variablen $body[keyname] einlesen */
if ($p_test == false ) {
$hf_body = explode( "\n", file_get_contents('php://input') );
$body = array();
foreach ($hf_body as $v) {
list($body_key,$body_value) = explode( ':', $v );
$body[$body_key] = $body_value;
}
}
else {
$body = $test_body; /* im Testmodus Parameter direkt aus dem Script nehmen */
}
 
ob_start(); /* Bildschirmausgabe buffern */
 
/* wenn übergeben, dann Geräte-ID aus den body-parametern übernehmen, ansonsten über [INTERNALROOMNAME] ermitteln */
if ( $body["id"]) {                      /* in Body Parameter gesetzt */
$hf_geraete_id = $body["id"];
} else {
$hf_geraete_id = $p_geraete_ids[$hf_internalroomname];    /* Geräte-Id aus Skript Array nehmen */
}
 
 
/* Prüfen ob wichtige Argumente übergeben */
if ( isset($body["shelly_server"]) == false ) { echo("Argument shelly_server fehlt, z.B.: shelly_server:servername<br>"); $body["shelly_server"] = "fehlt";}
if ( isset($body["shelly_url"]) == false ) { echo("Argument shelly_url fehlt, z.B. : shelly_url:device/relay/control<br>"); $body["shelly_url"] = "fehlt";}
if ( isset($body["parameter"]) == false ) { echo("Argument parameter fehlt, z.B.: parameter:channel=0&turn=on><br>"); $body["parameter"] = "fehlt";}
if ( isset($body["auth_key"]) == false ) { echo("Argument auth_key fehlt, z.B.: auth_key:abcdefghijklmnopqrstuvwxyz1234567890<br>"); $body["auth_key"] = "fehlt";}
 
$url = 'https://'.$body["shelly_server"].'/'.trim($body["shelly_url"], " /");
$ch=curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); /* Zertifikatswarnung übergehen */
curl_setopt($ch, CURLOPT_SSL_VERIFYSTATUS, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_PROXY_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            $body["parameter"]."&id=".$hf_geraete_id."&auth_key=".$body["auth_key"]);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close ($ch);
 
if ( $body["remarks"] ) {  /* Anmerkungen fürs Protokoll/E-Mail ausgeben */
echo ("<br>".$body["remarks"]."<br>");
};
 
$output = ob_get_contents(); /* Bildschirmausgabe aus Buffer lesen */
ob_end_clean();
echo $output;
 
if ( $body["email_result"] ) {
mail($body["email_result"], 'Ergebnis Shelly Skript - Device: '.$hf_geraete_id, $output, 'From: beds24 Shelly Script <'.$body["email_result"].'>');
    echo ("<br>Mail an: ".$body["email_result"]);
}
?>


"propertyId":"[PROPERTYID]",
"firstNight":"[FIRSTNIGHTSHORT]",
"lastNight":"[LEAVINGDAYSHORT]"
}


</div>
</div>
Line 2,814: Line 3,648:
*Trigger Event = Booking (but not after Check-in) OR Booking
*Trigger Event = Booking (but not after Check-in) OR Booking
*Trigger Time = 1 day (this will ensure that NEW bookings do not trigger this auto action)
*Trigger Time = 1 day (this will ensure that NEW bookings do not trigger this auto action)
*Trigger Window = 365 days
*Time Window = 365 days
*Booking Status = All not cancelled  
*Booking Status = All not cancelled  


*Template Variables [MODIFYDATE:{%Y-%m-%d %H:%M:%S}] greater than [CURRENTDATE:-1day{%Y-%m-%d %H:%M:%S}]
*Template Variables [IF>^[MODIFYDATE:{%Y-%m-%d %H:%M:%S}]^[CURRENTDATE:-1day{%Y-%m-%d %H:%M:%S}]^yes~no] equal yes


Booking tab: (Optional)  
Booking tab: (Optional)