Our Platform. Your Vision.

WORKFLOW: Prepaid Membership Plans and Freezes

General Information

  • Prepaid customers cannot freeze or thaw online - they must use the Contact us button and staff need to add the status for them
     
  • If thawing with the thaw button, 
    • the contract end date is extended by the total number of days frozen
    • an invoice is created with the total freeze dues owed (based on 
       
  • Freezes can be allowed at the contract level (everyone must freeze) or the enrollment level (individuals on a family can freeze).
     
  • Thawing an enrollment on a family plan extends the contract end date for ALL enrollees.  You cannot have enrollments with different expiration dates on a single contract! 
     
  • Plan freeze settings can be overridden with Manual Status changes
     
  • Override end date can be used to manually extend a prepaid end date.

Freeze Configuration Spoke

Freezing is set per plan.  Go to Build > Plans and edit the Freeze config spoke.

Set the freeze for the contract level OR the enrollment level.  This will determine what buttons your staff sees. 
 

Enrollment level freeze provides staff with Freeze All and Freeze Individual (under each enrollment) buttons


Contract level freeze provides staff with just one button to Freeze Contract.  Set a freeze fee per enrollment OR one fee per month for the whole contract.

 

Staff Instructions: Freeze and Thaw

Freeze

  • Use the freeze button to freeze.  
  • Set the start date and optionally add an end date

Note: the Reason pulldown here is configured in Manage > Organization & Facility Settings > Lists > Contract Related > Staff Facing > Freeze reasons

 

Thaw

Clicking thaw will do two things:

  1. extend the contract end date by the same number of days frozen.
  2. Create an invoice with freeze fees owed (if freeze fees are greater than $0)

Hover on contract holder and Open the customer in the cart to collect the prepaid thaw dues

Prevent Concluded Frozen Prepaids (Report)

To prevent frozen prepaids from concluding, you can set up a custom report to email you when contract end dates are upcoming for a frozen prepaid member.

Add Custom Report

Go to Insights > Reports > Manage Custom Reports > Add New and past this in the SQL window.

Date range and facility filters ON

 

Copy/paste everything below this line into the SQL field 


# startup statements
# query
SELECT /*+ MAX_EXECUTION_TIME(30000) */
   CONCAT(customers.last_name, ', ', customers.first_name) AS full_name, /* customer full name (last_name, first_name) */
   customers.id AS __CUSTOMER_ID, /* enrollee customer id */
   enrollments.calculated_end_date AS enrollment_calculated_end_date_value, /* enrollment calculated end date (date) */
   contracts.end_date_local AS contract_end_date_local_value, /* contract end datetime (local) */
   plans.name AS plan_name_value, /* plan name */
   plan_directory_nodes.full_title AS plan_parent_full_title_value, /* parent plan directory full title */
   facilities.short_name AS contract_facility_short_name_value, /* contract facility short name (contracts.facility_id -> facilities.id) */
   latest_freeze_status.status_date AS freeze_start_date_for_enrollment_value /* most recent enrollment_statuses.date where status = 2 (FROZEN) and date <= {{currentDateLocal}} */
FROM
   enrollments
   INNER JOIN contracts ON enrollments.contract_id = contracts.id /* contracts: enrollments.contract_id -> contracts.id (contract) */
   INNER JOIN plans ON contracts.plan_id = plans.id /* plans: contracts.plan_id -> plans.id (plan) */
   LEFT JOIN plan_directory_nodes ON plans.plan_directory_node_id = plan_directory_nodes.id /* plan_directory_nodes: plans.plan_directory_node_id -> plan_directory_nodes.id (parent plan directory node full_title) */
   INNER JOIN customers ON enrollments.customer_id = customers.id /* customers: enrollments.customer_id -> customers.id (enrollee) */
   INNER JOIN facilities ON contracts.facility_id = facilities.id /* facilities: contracts.facility_id -> facilities.id (contract facility) */
   LEFT JOIN LATERAL (
       SELECT
           enrollment_statuses.date AS status_date
       FROM
           enrollment_statuses
       WHERE
           enrollment_statuses.enrollment_id = enrollments.id /* enrollment_statuses.enrollment_id -> enrollments.id (status rows for this enrollment) */
           AND enrollment_statuses.status = 2 /* only consider rows where status = 2 (FROZEN) */
           AND enrollment_statuses.date <= '{{currentDateLocal}}' /* only status rows effective on or before now (local) */
       ORDER BY
           enrollment_statuses.date DESC
       LIMIT 1
   ) AS latest_freeze_status ON TRUE
WHERE
   customers.inactive = 0 /* exclude inactive customers since returning a list of customers */
   AND enrollments.voided = 0 /* exclude voided enrollments */
   AND enrollments.current_status = 2 /* enrollment is FROZEN (0=PENDING,1=ACTIVE,2=FROZEN,3=TERMINATED) */
   AND plans.plan_type = 1 /* plan_type = 1 => MEMBERSHIP (include all membership plan types) */
   AND plans.billing_type = 0 /* billing_type = 0 => PREPAID (only prepaid membership plans) */
   AND contracts.voided = 0 /* exclude voided contracts */
   AND contracts.rejected = 0 /* exclude rejected contracts */
   AND contracts.cancelled = 0 /* exclude cancelled contracts */
   /* #withDateFilter: contract end_date_local within the supplied inclusive date range.
      Use the placeholders {{dateFromLocal}} and {{dateToLocal}} when executing. */
   AND contracts.end_date_local BETWEEN '{{dateFromLocal}}' AND '{{dateToLocal}}'
   AND contracts.facility_id IN {{facilityIdList}} /* #withFacilityFilter: restrict to contract facilities provided in {{facilityIdList}} - contracts.facility_id -> facilities.id (contract facility) */
ORDER BY
   full_name
LIMIT
   5000;

 

Set Report to be Emailed

Go to Insights > Reports > Custom Reports > Select the freeze report you just added > Click Add Emailed Report and set your cadence.

Example:

  1. Toggle alarm on - that way it only sends if there is data
  2. add the email address that should receive this. 
  3. Frequency Weekly - set start date and report will send weekly starting from that date
  4. Adjust Calculation dates to look ahead: Add Days:10 will look ahead 10 days from the run date and then look back 1 week from there.  This means the report will return anyone with a contract end date coming up in 3-10 days from send.

 

 

 

Manually thaw and extend a concluded frozen prepaid

  1. Check the freeze start date and calculate the extension
     
  2. Override end date and set it to the new extended expiration date

     
  3. Add Manual Status of active - this will NOT extend the expiration date again.  Clicking Thaw will extend from the new expiration over-extending the thaw.

      

An alternate option is to:

  1. Override end date to today and count the days from the old expiration to today.  This is the number of days you will "backup" the expiration date after thaw
     
  2. Contract will be active and now you can click Thaw - thaw will extend from the new expiration date (extending them more than they should be).
     
  3. Override end date and bring it BACK the number of days from original expiration to the correct one (as if it had extended from the old one)