Configuration: Loyalty

Setup Checklist

1. Infrastructure Tasks

 

1. Infrastructure Tasks

 

  • The Loyalty module in RTP|One is required prior to configuring Loyalty in Aspenware Commerce. Talk to your Aspenware Representative about Loyalty configuration prior to starting this project. - Required

  • Identity Server can be configured to allow guests to review and execute Terms and Conditions as a part of the account creation or sign-in process. optional

  • If using RTP2021.2, add the setting UseLoyaltyPointsSummary2014Query to the Unity rtp-config.json file for the specific installation of Unity dedicated to the store in question and set to TRUE. REQUIRED

Prerequisite

2. POS Tasks

 

Configure Identity Server for Terms and Conditions - Required

Prerequisite

3. Commerce Tasks

 

Ensure Loyalty Plugin is installed - Required

Prerequisite

Language Strings and Settings

  1. Configure Settings for Loyalty Plugin required

  2. Configure Language Strings for Loyalty Components OPTIONAL

  3. Configure Floating Action Button (FAB) Position optional

  4. Configure FAB Styles HTML Widget optional

Customize Loyalty Dialog in Aspenware Identity.

Prerequisite

Prerequisite Tasks

POS Tasks

  • The Loyalty module in RTP|One is required prior to configuring Loyalty in Aspenware Commerce. Talk to your Aspenware Representative about Loyalty configuration prior to starting this project.

Infrastructure Tasks

  • Aspenware Commerce must be on version 2.18 or later.  

  • Identity Server can be configured to allow guests to review and execute Terms and Conditions as a part of the account creation or sign-in process. In order to complete this configuration, please collect the following below and then send an email to service@aspenware.com. In the email, request that your Identity server be configured for use with Loyalty. Include all required copy and links, organized by T&C 1, T&C 2, etc. Be sure to include your preference for the default setting (checked or unchecked for each T&C setting.)

     

    Terms & Conditions 1 (T&C 1)- Agreement Copy:

    Example: I consent to the Terms of the Rewards Program.

    Terms and Conditions 1 - Copy for Link and link for modality

    Example: Click here to read terms. (embedded link: www.myrewards.com)

NOTE: Terms and Conditions (T&Cs) will be present on the account creation page, login page, and account capture page in an identical fashion. Only the first (Terms and Conditions-1) will execute an action - enroll the customer in the rewards program. Each additional Terms and Conditions are also customizable but do not trigger any action.

Any additional Terms & Conditions would require Agreement Copy as well as Copy for link and link for modality.


Examples for use of additional Terms and Conditions:

T&C 1 - execute membership. (default setting: box unchecked).

T&C 2 - “I agree that I accept the updated rules and regs of the Rewards program. CLICK HERE TO REVIEW UPDATED RULES. “ (default setting: box checked).

OUTCOMES

T&C 1 would appear for any guest who is not a member of rewards, and by clicking the box and accepting, the guest would enroll in the program. In subsequent logins, T&C 1 would not appear.

T&C 2 would appear on every login, and would not record the action taken by the guest.

 

  • If using RTP2021.2, add the setting UseLoyaltyPointsSummary2014Query to the Unity rtp-config.json file for the specific installation of Unity dedicated to the store in question and set to TRUE.

Commerce Tasks

  • From the Configuration > Local plugins page, install the Aspenware Commerce and Aspenware Commerce Loyalty plugins. These should be typically be installed and enabled by your Aspenware Representative as part of an upgrade.

     Aspenware Commerce

    Aspenware Commerce Loyalty

Language Strings and/or HTML Widgets for this Feature

Settings

  • If you are using an external system to manage rewards points, activate by clicking the checkbox, and populate the fields. The API will supply the points to dollars conversion rate to the system. It does not need to be populated in Aspenware Commerce, but does need to be configured . An easy-to-use screen has been created to configure these settings rather than the typical method of changing settings through Administration.

    1. Go to Configuration > Settings > Reward Points.

    2. Scroll down to the External Rewards Fulfillment section.

    3. Configure as shown (click to enlarge):

NOTE: If you prefer to edit the settings manually through Configuration > Settings > All settings, please see the table below for searchable setting names.

Setting Name

Value configuration(s)

What it does

Setting Name

Value configuration(s)

What it does

loyaltysettings.externalfulfillmentenabled (Checkbox)

Example: True (Checked/Enabled)

Enable or Disable external fullfillment.

loyaltysettings.baseapiurl

Example: https://api.boyneresorts.io/loyaltytest-aw/api/

Provide the endpoint URL for accessing user Rewards data

loyaltysettings.programcode

Example: 1

Define the loyalty program code

loyaltysettings.programstatuscode

Example: 1

Define the loyalty program status code

loyaltysettings.minimumdollarredemptionvalue

Example: 50.000

Define the minimum dollar value limit for applying points to a purchase

loyaltysettings.loyaltyproductid

Example: 77777

Define the loyalty product ID

loyaltysettings.paymentmethodcode

Example: 778

Define the payment method code for loyalty points in the cart

loyaltysettings.apikey

Example: 'xxx'

Provide an API key to for accessing external loyalty data if required

loyaltysettings.apiversion

Example: 3

Define the API version number

loyaltysettings.attachto

Example: '#BrandHeader'

Provide the DOM element that the FAB will be attached to for display

loyaltysettings.presentationtypes

Example: 'fab,details'

Define the presentation elements to display in comma seperated format. Options are 'fab', 'details', 'fab,details'

 

NOTE: External Rewards require that the Common rewards points box remain unchecked (disabled), in order for rewards history to present correctly. If you are using the loyalty plugin to internally manage rewards points, enable this box and populate the exchange rate.

  • Configure Floating Action Button (FAB) Position

The FAB (floating action button) can be presented anywhere in the store by providing the ID of an attachment point in the DOM. There are additional configuration settings to adjust placement, colors, and text (see below).

  • To position the FAB, go to Configuration > Settings> All Settings > Search.

  • Enter "Attach" in name field and press search. Select “loyalty.fab.attach.to” setting and Edit.

  • Edit - #HERO  or #BRANDHEADER, for example.

 

Language Strings

  1. Configure Language Strings for Loyalty Components.

The components of Loyalty are highly customizable via Language Strings. A convenient screen has been created for ease of updating language strings, rather than going through the usual method.

  • To configure these strings, within Administration, go to Configuration > Local plugins

  • Find the Aspenware Commerce Loyalty Plugin and click Configure.

  • On the Configure Loyalty screen, customize any of the Loyalty Settings - Account (MyAccount or FAB text) by updating the following language strings (click to enlarge).

Resource Name

Value

Purpose

Resource Name

Value

Purpose

aspenware.loyalty.fab.register.text

Example value: Earn rewards by registering for a rewards account today.

Provide the default copy to display in the FAB if the customer is not registered in rewards program.

aspenware.loyalty.fab.logo

Example value: img/rewards.svg

Provide a relative path to the location of the client logo for their loyalty program to be displayed in the FAB. Logo must be stored in this location.

aspenware.loyalty.fab.fail.linktext

Example value: Learn more."

Outbound link text to display if customer is not currently enrolled in rewards program.

aspenware.loyalty.fab.fail.linkpath

Example value: www.anexample.com

Outbound link target if customer is not currently enrolled in rewards program

aspenware.loyalty.fab.successfail.link

Example: ‘account’

Link copy for the rewards account link in the FAB for registered users.

aspenware.loyalty.fab.points.long

Example value: 'points'

Long denominational value name to display for rewards system

aspenware.loyalty.fab.points.short

Example value: 'pts'

Short denominational value name to display for rewards system

aspenware.loyalty.account.overview.text

Example: This is generic awards account copy. You can update it in your language strings sections in the admin section.

Overview text for My Accounts - Loyalty tab

d. As you continue scrolling, you will find the Loyalty Settings - Checkout Redemption screen, you may adjust the following language strings.

e. Click Save.

Resource Name

Value

Purpose

Resource Name

Value

Purpose

aspenware.loyalty.redemption.pointsremoved.title

Example: 'Rewards points have been removed'

Provide the text to be displayed to the user upon successful removal of point useage.

spenware.loyalty.redemption.pointsremoved.text

Example: 'Sorry! You cannot use reward points when checking out with your currently selected payment method. We have removed the points from your order and reimbursed your rewards accounts.'

Purpose: Provide the text to inform the user when points are automatically reimbursed due to conflicting payment type

aspenware.loyalty.redemption.pointsremoved.balanced.text

Example: 'Reward Points Balance:'

Provide the label to be displayed in the redemption component for current point balance

aspenware.loyalty.redemption.redeem.remove.button.text

Example: 'Remove reward'

Provide the label to be displayed on the reward removal button in the redemption component

aspenware.loyalty.redemption.rewards.title

Example: 'Aspenware Rewards'

This field is currently unused.

aspenware.loyalty.redemption.rewards.image.url

Example: 'img/rewards.svg'

Provide a relative path to the location of the client logo for their loyalty program to be displayed in the redemption component. This could be th same logo that is used in the FAB, or a different version, size, etc.

aspenware.loyalty.redemption.rewards.text

Example: 'You have {points} points'

Provide alternative copy to display if the logo is not available to load

aspenware.loyalty.redemption.error.button.text

Example: 'Try again'

Provide the text to be displayed in the redemption button if redemption fails

aspenware.loyalty.redemption.redeem.text

Example: 'Available points'

Provide the label to display above the current point value in the redemption component.

spenware.loyalty.redemption.redeem.hint

Example: '2 WAYS TO REDEEM | By entering the amount manually or by applying the maximum possible points available.'

Provide the top level instructional text to be displayed inside the redemption component in checkout

aspenware.loyalty.redemption.redeem.button.text

Example: 'Redeem {dollars}'

Provide the label to be displayed on the point redemption button as well as the teplate token for the point to dollar conversion value.

aspenware.loyalty.redemption.pointsremoved.reimbursed.text

Example: 'Reward Points Reimbursed:'

Provide the label to be displayed in the redemption component when reward points are reimbursed.

aspenware.loyalty.redemption.pointsremoved.button.text

Example: 'Remove reward'

Provide the label to be displayed in the remove reward button in the redemption component.

aspenware.loyalty.payment.applied.text

Example: ‘Applied’

Text displayed after order total to let user know that points were applied.



HTML Widgets

CSS Custom Property Configuration Guide Layout variations in resort themes will often require customizing the CSS Properties that style the Floating Action Button (FAB). Currently, styles are applied via the nop HTML widget as defined below. This will eventually be replaced with the theme framework. Until then, an HTML nop widget must be added and assigned to the 'head_html_tag' widget zone in order to apply styling to the FAB. To add and customize this widget:

  • Go to NopTemplates > PLUGINS > HTML WIDGETS.

  • Click Add new html widget.

  • On the HTML Widget Settings Tab, enter the following:

    • Name: Loyalty Styles

    • Visible: Checked

    • HTML Content (go to Tools > Source Code) and enter:

      <style><!--#loyalty-fab-target .v-application--wrap{ min-height: 0; display: block; max-width: inherit;} :root { --fab-link-text-color: #1976d2;  --fab-position-top-mobile: 20px; --fab-position-top: 100px; --fab-position-right-mobile: 0;  --fab-position-right:0; --fab-z-index: 999; --fab-main-text-color: #333;  --fab-footer-bg-color:  #e4e4e4; --fab-toggle-bg-color: #222;} --></style>

      The following properties are available for you to configure the FAB on a theme basis:

      • --fab-link-text-color: Sets the color of the links inside of the expanded FAB.

      • --fab-position-top-mobile: Sets the number of pixels between the top of the page and the top of the FAB on mobile.

      • --fab-position-top: Sets the number of pixels between the top of the page and the top of the FAB on desktop.

      • --fab-position-right-mobile: Sets the number of pixels between the right side of the screen and the right side of the FAB on mobile.

      • --fab-position-right: Sets the number of pixels between the right side of the screen and the right side of the FAB on desktop.

      • --fab-z-index: Sets the z-index of the FAB to ensure it displays over all other page content.

  • On the Widget Zones tab, click Add new record

    • Search for Widget Zone ‘head_html_tag’

    • Click Update.


Customize Loyalty Dialog in Aspenware Identity

Identity runs a check on loyalty “member status” during login. Depending on what is returned for member status (e.g. TRUE or FALSE), the customer sees the “Consent Text” Flow (member = FALSE) or the “Updated Consent text” flow (member = TRUE).

Resorts should determine their custom copy, as well as define any URLs that will be specified. Once completed, please send a request to your Aspenware Service Representative (support@aspenware.com) to complete the customization on your behalf.

Sample Consent Text Flow

If the guest is not a member, they will be presented with a checkbox to execute loyalty membership, with custom language and URLs.

Sample Updated Consent Text Flow

If the guest is currently a member, the checkbox for enrollment is not presented. Instead, custom language reflects agreement with current terms and conditions.