The BookNow package includes a number of standard Salesforce workflows. These are:
Resend Paylink Workflow
Trigger: Created or Edited
Conditions:
- The
Bnow__resend_paylink__cfield is set toTRUE - There is a custom setting (
AutomationSetting) where the label isBN-Managed-resendPaylinkand the status isTRUE
Actions:
- Set the Workflow email field on the Customer Record
- Send the Paylink Email
Booking Confirmation Workflow
Trigger: Created or Edited
Conditions:
- The
bnow_all_products__processed__cfield has a value - There is a custom setting (
AutomationSetting) where the label isBN-Managed-BookingConfirmationFlowand the status isTRUE
Actions:
- If
BNow__initial_payment_method__cequalspayLink, send Paylink to customer via email - If
bnow__balance_paid__cis greater than 0 andbnow__Status__cis not equal toPendingorCancelled, send booking confirmation. If a product withBnow__isbirthday__cequalsTRUE, send Birthday Booking Confirmation. - Hand off to
CheckPromoSub Flow, which sends out promo codes or gift vouchers when they are purchased online.
Birthday Party Reminder Workflow
Trigger: Daily batch process that fires at 10:00 am each day
Conditions:
- The
Bnow__birthday_party_reminder__cfield does not equal 0 (Bnow__birthday_party_reminder__cis a formula field that returns: ‘3’ when the next birthday is 90 days away, ‘2’ when the next birthday is 60 days away, ‘1’ when the next birthday is 30 days away) - The
Bnow__parent_waiver__cfield is not blank - The person’s age is less than 14 years
- There is a custom setting (
AutomationSetting) where the label isBN-Managed-BirthdayPartyReminderand the status isTRUE - The
Bnow__Accept_Marketing__cfield isTrue - There is an account with the same email address in the system where
Bnow__marketing_checkbox__cequalsTrue
Actions:
- The system follows a path based on the number returned by
Bnow__birthday_party_reminder__c. (Currently no email templates are linked as customer re-engagement strategies vary).
Email Unsubscribe Workflow
Trigger: A screen flow. This screen flow can be referenced as a link in marketing and confirmation emails to allow customers to unsubscribe from marketing messages from the operator (GDPR compliance).
Inputs: Email address
Actions:
- Get a list of accounts and waivers that match the inputted email address.
- Change the email marketing preferences on both to ‘False’
Outputs: Confirmation the action has completed. Safety statement to confirm the operator will still send transaction linked comms (booking confirmations and the like).
Membership Item Workflow
Trigger: Membership Item created or edited
Conditions:
Active__cequalsTrueCustomer(lookup) is notNullMembership__c(lookup to membership record) is notNull- There is a custom setting (
AutomationSetting) where the label isBN-Managed-MembershipItemFlowand the status isTRUE
Branch 1:
- If
Createdate = Current Date,Cancel_membership__cisFalse,Cancellation_Date__cisNULL,Cancelled_Date__CisNull, andactive__cequalsTrue:- Check and update if customer email exists and
workflow_email__cis completed - Send Membership Confirmation email
- Check and update if customer email exists and
Branch 2:
If
bnow__start_cancellation_notice__cisTrue:- Check and update if customer email exists and
workflow_email__cis completed - Set cancellation date on the Membership Item record, the number of days cancellation notice is set on the Membership record (
Bnow__Cancellation_Notice_days__c), although if it isn’t set the system defaults to 30 days - Set
bnow__cancelled_date__cto the current date - Send the Membership Cancellation email to the customer to confirm cancellation dates
- Check and update if customer email exists and
Membership Billing Workflow
Trigger: Scheduled Trigger to Run Daily at 19:00hrs
Conditions:
- On a membership payment record
Bnow__today__cequalsTrue. - Custom Setting (
AutomationSetting) where label =BN-Managed-MembershipBillingFlowand Status =TRUE
Branch 1:
- If
Payment_Status__cequalsSuccess:- Update
next_billing _date__con the relatedmembership_Item__cfor the following month/year depending on billing frequency setting.
- Update
Branch 2:
- If
Payment_Status__cequalsFailure:- Check the related customer email address and workflow email address, update if they are
Null.
- Check the related customer email address and workflow email address, update if they are
Branch 2a:
- If
bnow__Failed_payment_count__cis less thanbnow__failed_payment_retries__cwhich is set on the membership record and defines the number of time an operator will retry a payment before the membership is cancelled.bnow__Failed_payment_count__cis increased by 1 ANDbnow__next_billing_date__cis set for the following day.- Failed payment email is sent to the customer with a reset token link and directions on how the operator will handled the failed payments and in what timeline.
Branch 2b:
If
bnow__Failed_payment_count__cis equal tobnow__failed_payment_retries__cwhich is set on the membership record and defines the number of time an operator will retry a payment before the membership is cancelled.- Membership Items
bnow__active__Cfield set toFALSE, Next Bill date set toNULL. - Membership Suspension email sent the customer.
- Membership Items
Final Membership Cancellation Workflow
Trigger: Scheduled to run daily at 04:00hrs
Conditions:
Bnow__cancelledToday__cequalsTRUE
Actions:
- Set the
Bnow__active__cfield on the Membership Item toFalse - Set
Bnow__cancel_membership__ctoTRUE - Set
Bnow__next_bill_date__ctoNULL
- Set the
Password Reset Workflow
Trigger: Account record is created or edited.
Conditions:
- The
Bnow__password_token__cis changed AND the customer has an email address OR password AND profile isNULL
Actions:
- The system gets the relevant
BASEURLto build a reset password page - Check and update the customer email address fields if they are not complete
- Send password reset email with the unique reset link
Note: It is possible to vary the reset password email template that is sent to the customer or a staff member.
Reminder and Retention Workflow
Trigger: Schedule runs daily at 09:00am
Conditions:
Bnow__bookingReminder_retention__cequals True- Custom Setting (
AutomationSetting) where label =BN-Managed-BirthdayPartyReminderand Status = TRUE - Check whether customer has an email and a workflow email set, if not set workflow email.
Branch 1:
- If date of the booking is in the future.
- Send booking reminder email
Branch 2:
- If activity date is in the past.
- Check whether any products linked to the booking have discount eligibility (for retention codes)
- Create relevant retention codes
- Send retention email confirming the promo code and what it entitles the holder to e.g. “20% off if you rebook within the next 14 days”
Reminder and Retention Workflow
Trigger: Schedule runs daily at 09:00am
Conditions:
Bnow__bookingReminder_retention__cequals True- Custom Setting (
AutomationSetting) where label =BN-Managed-BirthdayPartyReminderand Status = TRUE - Check whether customer has an email and a workflow email set, if not set workflow email.
Branch 1:
- If date of the booking is in the future.
- Send booking reminder email
Branch 2:
- If activity date is in the past.
- Check whether any products linked to the booking have discount eligibility (for retention codes)
- Create relevant retention codes
- Send retention email confirming the promo code and what it entitles the holder to e.g. “20% off if you rebook within the next 14 days”