The BookNow package includes a number of standard Salesforce workflows. These are:

Resend Paylink Workflow

Trigger: Created or Edited

Conditions:

  • The Bnow__resend_paylink__c field is set to TRUE
  • There is a custom setting (AutomationSetting) where the label is BN-Managed-resendPaylink and the status is TRUE

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__c field has a value
  • There is a custom setting (AutomationSetting) where the label is BN-Managed-BookingConfirmationFlow and the status is TRUE

Actions:

  • If BNow__initial_payment_method__c equals payLink, send Paylink to customer via email
  • If bnow__balance_paid__c is greater than 0 and bnow__Status__c is not equal to Pending or Cancelled, send booking confirmation. If a product with Bnow__isbirthday__c equals TRUE, send Birthday Booking Confirmation.
  • Hand off to CheckPromo Sub 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__c field does not equal 0 (Bnow__birthday_party_reminder__c is 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__c field is not blank
  • The person’s age is less than 14 years
  • There is a custom setting (AutomationSetting) where the label is BN-Managed-BirthdayPartyReminder and the status is TRUE
  • The Bnow__Accept_Marketing__c field is True
  • There is an account with the same email address in the system where Bnow__marketing_checkbox__c equals True

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__c equals True
  • Customer (lookup) is not Null
  • Membership__c (lookup to membership record) is not Null
  • There is a custom setting (AutomationSetting) where the label is BN-Managed-MembershipItemFlow and the status is TRUE

Branch 1:

  • If Createdate = Current Date, Cancel_membership__c is False, Cancellation_Date__c is NULL, Cancelled_Date__C is Null, and active__c equals True:
    • Check and update if customer email exists and workflow_email__c is completed
    • Send Membership Confirmation email

Branch 2:

  • If bnow__start_cancellation_notice__c is True:

    • Check and update if customer email exists and workflow_email__c is 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__c to the current date
    • Send the Membership Cancellation email to the customer to confirm cancellation dates

Membership Billing Workflow

Trigger: Scheduled Trigger to Run Daily at 19:00hrs

Conditions:

  • On a membership payment record Bnow__today__c equals True.
  • Custom Setting (AutomationSetting) where label = BN-Managed-MembershipBillingFlow and Status = TRUE

Branch 1:

  • If Payment_Status__c equals Success:
    • Update next_billing _date__c on the related membership_Item__c for the following month/year depending on billing frequency setting.

Branch 2:

  • If Payment_Status__c equals Failure:
    • Check the related customer email address and workflow email address, update if they are Null.

Branch 2a:

  • If bnow__Failed_payment_count__c is less than bnow__failed_payment_retries__c which 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__c is increased by 1 AND bnow__next_billing_date__c is 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__c is equal to bnow__failed_payment_retries__c which 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__C field set to FALSE, Next Bill date set to NULL.
    • Membership Suspension email sent the customer.

Final Membership Cancellation Workflow

Trigger: Scheduled to run daily at 04:00hrs

Conditions:

  • Bnow__cancelledToday__c equals TRUE

Actions:

    • Set the Bnow__active__c field on the Membership Item to False
    • Set Bnow__cancel_membership__c to TRUE
    • Set Bnow__next_bill_date__c to NULL

Password Reset Workflow

Trigger: Account record is created or edited.

Conditions:

  • The Bnow__password_token__c is changed AND the customer has an email address OR password AND profile is NULL

Actions:

  • The system gets the relevant BASEURL to 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__c equals True
  • Custom Setting (AutomationSetting) where label = BN-Managed-BirthdayPartyReminder and 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__c equals True
  • Custom Setting (AutomationSetting) where label = BN-Managed-BirthdayPartyReminder and 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”