Configuration: Subscriptions

Setup Checklist

1. POS Tasks

 

1. POS Tasks

 

1. Set up Subscription Product Headers and Hotlists Required

  • Configure subscription product headers in RTP|One as simple products that contain a single access component.

  • Configure 'Cancel' and 'Freeze' hotlists in RTP|One and make note of the respective codes.

  • Configure subscription product headers with access.

2. Set up Validated Customer Procedure optional

  • Determine if stored procedures are required and contact Aspenware Representative for assistance in creating them.

Prerequisite

2. Infrastructure Tasks

 

  • Work with your Aspenware Representative to configure Subscription Processor Azure Function test and prod. Required

  • If using Payeezy - Ensure Payeezy is configured to verify on CVV2

Prerequisite

3. Commerce Tasks

 

1. Ensure that Subscriptions Plugin is Installed required  

2. Add the Is Subscription Classification required

3. Create Dummy Product for Subscription Monthly Payment Product required

  • Copy down the Product ID. This can be found in the URL of the product editor page. This ID will be used in the next step to define the subscription charge product in a setting.

4. Configure Subscription Types required

  • View already configured subscription types to determine if the one you need is already created.  

  • Make note of new Subscription Type IDs that are assigned to the subscription type upon creation. This value will be used later when assigning subscription products to subscription types in the product classification admin.

Prerequisite

Language String, Setting, HTML widget optional

  • Configure subscriptionsettings.subscriptionproductid during Commerce Prerequisite Tasks.

  • Configure Language Strings for Card Management in My Account using Strings below.

Prerequisite

1. Configure Subscription Product Required

2. Assign Is Subscription Product Classification required

  • In the Value field, enter the ID of the associated Subscription Type Value (Ensure Subscription Types are first configured following the previous steps in this document.)

3. Autofulfill Subscription Product required

4. Locate and Filter Subscription Enrollments optional

5. Update Status and Subscription Type of Subscription Enrollments optional

 

Detailed Setup

Prerequisite Tasks

POS Tasks

Work with your Aspenware Representative on this RTP|One Pre-work to make sure all necessary parts are configured. 

1. Set up Subscription Product Headers and Hotlists

NOTE: These products should be gated from being able to be sold onsite as guests MUST purchase subscription products on the Aspenware Commerce store.   

  • Configure subscription product headers in RTP|One as simple products that contain a single access component.

IMPORTANT: Because these are ongoing charges that are triggered from the Aspenware Commerce subscription tool to Payeezy or Square, the only charge that will be reconciled to RTP|One is the first deposit charge paid when the order is first placed. Subsequent monthly charges are not sent back to RTP|One.  Therefore, the product pricing setup in RTP|One is very simple.    

  • Configure Freeze and Cancel hotlists in RTP|One and make note of the respective codes. When a charge fails, or when membership is frozen or canceled, subscription access is hotlisted with either the Cancel or Freeze hotlist, depending on the reason. Hotlists are also removed when subscription statuses go back to “active.”

  • Configure subscription product headers with one access component as hotlisting supports single access code use.

NOTE: The cancel hotlist code will be set to RTP|One in the event that a subscription is canceled by an admin OR if the card on file fails a monthly payment. If clarification is needed as to whether the guest is still in the window where they can update their card and re-activate their access, check the Aspenware Admin tool to see if the Subscription status for the enrollment is failed-declined or canceled. If it is failed-declined, the guest can simply update their card in my account to remove the hotlist.

2. (Optional) Consider Implementing Validated Customer Procedure

Commerce offers resorts the option to allow guests who are subscribers to be eligible to redeem free or steeply discounted products that they must redeem online, in advance, to “reserve” their spot. If your resort subscription is set up this way, work with your Aspenware representative to map a strategy of creating redemption products in both RTP|One and in Aspenware Commerce that “validate” only customers who have active subscription access (not hotlisted) are able to check out with these free “reservation products.” They will work with you to create a custom validated customer procedure that can be set up to work for online and in-person reservations. Aspenware can also add additional restrictions to this validation, examples we’ve set up in the past include, only allow a subscriber to reserve a single product type per day so that subscribers don’t over-consume inventory. They will also work with you on rules and guidelines for creating these validation product headers in RTP|One and Aspenware Commerce. Considerations include:

  • Validated Customer Procedure - Like validated prompt but allows restriction on assignment. These require custom SQL and Aspenware support.

    • Custom configuration can be added to the RTP|One stored procedure that prevents assigning the same person the same product type on the same day in subsequent orders.

      • If taking advantage of this rule, may need to add a rule to product headers.

    • Can be built in a way to use onsite

  • Redemption product header creation may be required  (for onsite redemption, add the same validated customer procedure as used online.)

Infrastructure Tasks

  • Work with your Aspenware Representative to configure Subscription Processor Azure Function test and prod. The Subscription Processor Azure Function needs to connect to the Aspenware Commerce database and API, so it needs to be whitelisted/given permission to Nop. Aspenware will configure how often the subscription processor runs (req. every 30 seconds). Charges mostly happen at 12:01 am, however, the processor is set to run frequently. If someone updates their card in my account and they are in a declined status, it will charge them immediately, which will allow someone to fix their card on premise and use facilities immediately.

  • If using Payeezy, ensure settings of payment gateway are set up to verify on CVV2. If this setting is not configured in Payeezy, monthly payments will not work. This is also recommended because it helps reduce fraud for card not present (ecomm) transactions. Ensure the following terminal settings and CVV filter settings are configured exactly as explained below. It is also required to ensure that Payeezy/FirstData has enabled $0 authorizations for the terminal used by the store.  

    1. Contact Payeezy/FirstData and ensure that $0 authorizations are enabled on the terminal used by the store.  If they’re not already enabled, request that they enable them.  It is not possible to use CVV filters without $0 authorizations, because the CVV can only be passed on an Auth Only request, which is always a $0 request.    

    2. Login to your Payeezy Terminal HERE

    3. From the home page, select Terminals

    4. If there are multiple terminals, select the terminal used by the store.

    5. On the main terminal screen for the ecommerce terminal, scroll to the bottom and ensure the terminal type is set to E-Commerce Transaction (CVV2)

    6. If the terminal type is not set to CVV2, the administrator will need to modify this setting and then choose UPDATE in order for his changes to be saved.  

    7. Next, select CVV2 Filters 

    8. Ensure that only the top 2 CVV2 filters are checked as shown in the screenshot below.  

      1. Code N: Checked

      2. Code P: Checked

      3. Code S: Unchecked - Note:  If the merchant doesn’t want to accept Discover, Code S can be checked.  If Discover is accepted, this code must be unchecked.

      4. Code U: Unchecked

      5. Code I: Unchecked - important:   Code I must not be checked (and it does not need to be, since we will not allow a guest to bypass CVV in the payment form, it’s a mandatory field.

  • Note: When testing in the Test environment, CVVs digits starting with 2, 3, and 4 will fail if cvv verification is enabled for testing.

 

Commerce Tasks

1. Ensure that Subscriptions Plugin is Installed

  • Ensure that the Subscriptions plugin has been installed by your Aspenware Representative. Go to Configuration > Local Plugins search for the Subscriptions plugin. If plugin is not installed (matches image below), contact your Aspenware Service Representative. 

     

2. Add the Is Subscription Classification

  • Add the Is Subscription classification if not already set up as a product classification. Check that the Is Subscription classification is not already set up before adding a new one.

    • Go to Aspenware Commerce > Product Classifications.

    • Select Add Classification in the upper right-hand corner.

    • Enter the following on the Classifications page:

      • Name : Is Subscription

      • Description: Assign this classification to Subscription Products Only

      • Is Subscription: Check

      • Leave all other checkboxes unchecked.

    • Click Add, which will appear after all the required items are complete (above).

3. Create Dummy Product for Subscription Monthly Payment Product

  • Go to Catalog > Products page in Admin.

  • Click Add new to create your new payment product. 

  • Define the following values for this newly created add on product before saving the product: 

    1. Product name: This is the product that will be “sold” with each month’s charge and upon successful charge will be in the order table of the successful charge confirmation email.  Suggested to name it something like “Subscription Monthly Payment.”

    2. Short and Long description: Leave Blank.

    3. Email description: Include anything that should be sent to customers in their monthly charge email. For example: “Your membership for this month has been successfully charged. Membership charges will occur every month on the same day of the month you originally purchased your membership. Tax is included in the price of the product.”

    4. SKU (Product header): LEAVE BLANK

    5. Categories: Make sure this is not added to a published category. 

    6. Published: Check this

    7. Limited to stores: Leave blank

    8. Available start/end dates: Leave blank

    9. Price: Must be $0

    10. Discounts: Leave blank

    11. Tax Exempt: Check this. Subscription product CANNOT BE CONFIGURED WITH TAX.

    12. DO NOT set up product attributes. 

    13. Click Save and Continue Edit.

  • Copy down the Product ID. This can be found in the URL of the product editor page. This ID will be used in the next step to define the subscription charge product in a setting.

     

  • Go to Configuration > Settings > All Settings and define the monthly payment charge product you just created as the value for the setting subscriptionsettings.subscriptionproductid

Setting

Value

subscriptionsettings.subscriptionproductid

ID of the subscription charge product (Taken from the page URL in the previous step.)

4. Configure Subscription Types

A subscription type is associated to a subscription product, defining the amount that should be charged for that subscription on a monthly basis and more. Other rules that are defined within a subscription type include retry days and RTP|One hotlist codes for freezes and cancels. If your resort offers varying levels of subscriptions or charges different subscription amounts based on age group, etc. multiple subscription types can be configured and mapped to different Subscription variants. To set up, edit or add Subscription Types, follow the steps below: 

  • Go to Aspenware Commerce > Subscriptions and toggle to the Subscription Types page by clicking Subscription Types at the top of the page. 

  • View already configured subscription types to determine if the one you need is already created.  

  • If a new subscription type is needed, select CREATE NEW SUBSCRIPTION.

  • Enter the following properties:

    • Name: Name it descriptively enough to differentiate types from each other as each type likely charges different amounts. I.e. “Membership Ages 3-7”

    • Cancel Hotlist Code: Obatin from RTP|One and make sure these are configured in accordance with steps outlined about in POS Prerequisites section of this document. This hotlist code will be sent to RTP|One in the event of a failed payment or manual cancellation. This will likely be the same code across all membership types. 

    • Freeze Hotlist Code: Obtain from RTP|One and make sure these are configured in accordance with steps outlined above in the POS Prerequisites section of this document. This hotlist code will be sent to RTP|One in the event of a manual freeze. Will likely be the same code across all membership types. 

    • Retry Days: Enter the number of days that the membership payment should be “retried” in the event of a failed charged. Will likely be the same code across all membership types. 

    • Amount: Enter the amount that should be charged each month to subscribers enrolled in this membership type. Will likely NOT be the same code across all membership types. 

    • Click CREATE to save subscription type. 

  • Make note of the ID that is assigned to the subscription type upon creation. This value will be used later when assigning subscription products to subscription types in the product classification admin.

Settings, Language Strings and/or HTML Widgets for this Feature

Settings

  • Use this setting as described in Prerequisite Commerce Step 3.

Setting

Value

subscriptionsettings.subscriptionproductid

ID of the subscription charge product

Language Strings

Updating the content for the area of My Account where guests can manage and view their subscription credit card.

  • Go to Configuration > Languages page in Admin.

  • Click Edit in the English row.

  • From the Edit Language details - English page, click the String Resources tab.

  • The following content is configurable through Language String resources. 

Language String

Value

Location

Language String

Value

Location

account.subscriptions

Subscription Card Management

Within My Account, this is the Title for the page to manage cards associated with subscriptions.

account.subscriptions.description

{Description around updating cards and terms of memberships}

Within My Account, this is the description for the page to manage cards associated with subscriptions.

Account.Subscriptions.Selectmessage

Select subscriptions to update the payment credit card.

Within My Account, this is the message to help guests navigate selecting subscription products they would like to update.

Account.Subscriptions.NoSubscriptions

You have no subscription products.

Within My Account, thisis the message that shows if guest doesn’t have subscription products for themselves or anyone else in their household.

HTML Widgets

  • AW Commerce HTML Widgets that must first be completed

Detailed Setup Guide

  1. Configure Subscription Product

  2. Assign Is Subscription Product Classification

  3. Autofulfill Subscription Product

  4. Locate and Filter Subscription Enrollments

  5. Update Status and Subscription Type of Subscription Enrollments

1. Configure Subscription Product

Subscription products are set up similarly to other products; however are often more simple than some ski products. These products should not have add-ons associated with them or overly complex attribute combination structures. Often they just have a single attribute like Age and a few age levels with different price points. 

  • Go to Catalog > Products in Admin,

  • Click Add New to create a new product. 

    1. Follow standard product configuration steps outlined in Basic Product Configuration.

  • If the product being configured has variants, such as different ages. Follow standard attribute product configuration steps outlined in the Product Attribute Configuration section. However, the following difference exists for these products:

    1. Subscription products should not be date-based products, so do not add a start date control type attribute. 

    2. Do not configure associated add-ons to be bundled with these products. 

    3. The price defined in the attribute combination table is the price of this product’s deposit amount (The amount charged each month on an ongoing basis will be configured in the Subscription plugin.)

2. Assign Is Subscription Product Classification

Subscription products require the ‘Is Subscription’ Product Classification is added.

  • Go to Aspenware Commerce > Product Classifications.

  • Select Add Assignment.

  • Find the desired Category and then Product from the drop-downs. 

  • If the Subscription Type (amount charged per month) changes depending on the attribute value, check the specific attribute value (e.g. Adult) as well. 

  • Select the ‘Assign’ checkbox next to the Is Subscription classification.

  • In the Value field, enter the ID of the associated Subscription Type Value (Ensure Subscription Types are first configured following the previous steps in this document.)

  • Scroll to the bottom and click Add.

 

3. Autofulfill Subscription Product

All Aspenware Subscription products also are required to be Autofulfilled.

  • Go to Aspenware Commerce > Autofulfill

  • Find the desired product from the dropdown and select the Autofulfill checkbox. No need to check any of the attribute value checkboxes.

     

  • These subscription products also will likely need additional setup. Though nothing else is necessary to successfully set up the subscription functionality at this point, the following steps may need to be completed for your product:

    1. Requires assignment *Required

    2. Age rules

    3. Waivers

    4. Prevent duplicate assignment

    5. Pass Media configuration

    6. Renewal setup

    7. Delivery

 

4. Locate and Filter Subscription Enrollments

Within the Subscriptions Admin, administrators can research and act on guest subscription orders to cancel, freeze and change subscription amounts. 

  • Go to Aspenware Commerce > Subscriptions and toggle to the Subscription Enrollments page.

  • Use the following search and filter criteria to narrow down the list of subscriptions: 

    1. Enrollment Date Range: Date range during which the initial subscription purchase took place. 

    2. Next Payment Date Range: Date range during which the next subscription monthly charge will take place. 

    3. Status: Status of Enrollment. 

      1. Active: Subscription that is charged monthly and not hotlisted

      2. Failed Payment Declined: Subscription that failed the last payment attempt but is still within the retry days limit and has not yet been canceled. Is hotlisted in RTP|One, but if a charge succeeds, hotlist will be auto-removed. 

      3. Frozen: Usually set by an admin in the event of injury. Treated like a cancellation, but has a freeze hotlist reason sent to RTP instead of a cancel hotlist. Must be manually set back to active to be “unfrozen.”

      4. Cancelled: Membership is no longer attempting to charge on a regular basis and has been hotlisted in RTP. Can get to this state by an admin canceling the membership or by a guest failing their payment and not being corrected within the retry days period.

    4. First Name

    5. Last Name

    6. Email Address

    7. ID: Subscription Enrollment ID

5. Update Status and Subscription Type of Subscription Enrollments

The following manual changes to a customer’s subscription should be completed in admin under the following circumstances:

  • Cancellation - If a customer no longer wants to be enrolled in the subscription product and charged on a monthly date, cancel their membership. Cancellations result in the system no longer attempting to charge the card and the related access being hotlisted with a “cancellation hotlist type” in RTP|One.

  • Freeze - If a customer wants to temporarily pause their enrollment in the subscription product, but not fully cancel their membership. Freezes result in the system no longer attempting to charge the card until the subscription status is set back to “Active” by an admin, and the related access being hotlisted with a “freeze hotlist type”  in RTP|One.

  • Adjusting Subscription Types - If a customer has aged out of their current level, or if someone purchased a subscription at the wrong price (e.g. they were eligible for a discounted subscription but bought full price) an admin can adjust the subscription type, which will update the monthly charge amount to go into effect on the next charge date.

In order to manually update a subscription, locate the subscription enrollment by using one of the search or filtering mechanisms outlined above. 

  • Once the desired subscription is located, select the button next to the enrollment in order to update it. (Only one subscription enrollment can be edited at a time.)

UPDATE NEXT PAYMENT DATE

  • To change the next payment date, enter the new date in the field above the UPDATE NEXT PAYMENT DATE button, select the desired subscription. 

  • Click UPDATE NEXT PAYMENT DATE.

UPDATE ENROLLMENT STATUS

  • To change the status, click in the field above the UPDATE ENROLLMENT STATUS button and select the desired status.  Choose one of the statuses below:

    1. Active: Subscription that is charged monthly and not hotlisted. Reactivate a frozen or canceled membership.

    2. Cancelled: Membership will no longer attempt to charge on a regular basis and will be hotlisted in RTP|One

    3. Frozen: Usually set by an admin in the event of injury. Acts like a cancellation, but has a freeze hotlist reason sent to RTP|One instead of a cancel hotlist. Must be manually set back to active to be “unfrozen.” When “unfreezing” memberships, update the next payment date to a date in the future.

  • Click UPDATE ENROLLMENT STATUS.

CHANGE SUBSCRIPTION TYPE

  • To change the subscription type, click click in the field above the UPDATE SUBSCRIPTION TYPE button, select the desired subscription. 

    1. By changing the subscription type on a membership enrollment, the amount charged on the next payment date will be updated to the amount defined on the new subscription type. 

    2. If you don’t see the desired subscription type, can create a new one by following the steps in the Configure Subscription Type section above. 

  • Click UPDATE SUBSCRIPTION TYPE.

  • Nop4u SQL reports can be set up to report on subscriptions, payment statuses, and guests with subscriptions who are “aging” out of a subscription. Specific subscription reports will be set up for resorts using subscriptions. Contact your Aspenware administrator to set these up. The Aging report for example is very custom and will require a conversation to understand your subscription requirements. 

    • Subscription payment report- For already charged subscriptions see a log of all charges and their result. 

    • Aging - Report to identify all guests who are the “wrong age” for the subscription type that they purchased. When a guest ages out, they are eligible for a subscription change to charge them more per month. (For guests identified in this report, contact Aspenware to action until admin to update subscription due amounts is fully built.)

    • DocType Errors - Report to proactively identify any guests who may have issues with their subscriptions due to a customer account getting out of sync between Aspenware Commerce and RTP|One.