With AutomateWoo, you can target emails to your bookings, with either the Booking Created
or the Booking Status Changed
triggers.
Use case
↑ Back to topThe following workflow provides a solution for the case where a follow-up email needs to be sent after a new booking is paid, either directly from the booking or after being manually confirmed.
Prerequisites
↑ Back to top- WooCommerce Bookings
- AutomateWoo
Setup
↑ Back to topStep 1: Open the Workflows page and click Add Workflow.
Step 2: Choose the trigger Booking Status Changed.
Step 3: Leave the Status changes from empty
Step 4: Set the Status changes to Paid
Step 5: You can add specific rules to further define the workflow, if required.
For instance, if you want the workflow to be targeted to specific bookable products or vendors, you can set each product to a specific category, and use a rule to target such a booking.
Step 6: If you would like to send an email at a specified period before the booking, you can set the Timing, scheduled with a variable: You can adjust the timing of the booking by using the modify tag
on the Timing widget:
{{ booking.start_date | modify: '-1 day' }}
Under Options, as this is a transactional email, rather than a marketing one, select the Is transactional?
checkbox.
Step 7: Set up the Action. For this example, the action is to send an email.
When setting up an email, it can be populated with variables, inclusive of adjusting the time and date of the text, using PHP syntax.
For instance, to populate the day of the week that the booking is taking place, the 'l'
parameter can be added using custom format:
:
Example:
Booking’s day of the week: **{{ booking.start_date | format: 'custom', custom-format: 'l' }}**.
Result:
Booking day of the week: Monday.
Variable within your email:
If using the AutomateWoo workflow to send an email, the variables can be used within the AutomateWoo fields, inclusive of the subject and header fields:
An example of using variables within the email.
Hi there {{ customer.first_name }},
Your booking for {{ product.title }} has been confirmed, for Order #{{ product.id }}.
Booking ID: {{ booking.id }}
Status: {{ booking.status }}
Start Date: {{ booking.start_date | format: 'mysql' }}, {{ booking.start_time }}
End Date: {{ booking.end_date | format: 'mysql' }}, {{ booking.end_time }}
You can cancel your booking before {{ booking.start_date | modify: '-1 day', format: 'custom', custom-format: 'l, jS F' }}.
Thank you!
{{ shop.title }}
Preview of the email:
Bonus hint: Will the variable be correct?
When setting up a timing variable, temporarily add the text to an email, and then preview it. This way, you can ensure that your trigger is correct, and will then be actioned at the correctly modified time.
What’s next?
↑ Back to topThis should be all that is required for a booking to have an email sent when the status is changed to Paid
.
If wanting to create a similar workflow for a winback stragegy, you can target the ‘Status changes to‘ to Canceled
, and adjust the email content accordingly to entice the user to rebook.