Configuration: Reservation Products

Setup Checklist

Overall Setup Tasks

1. Planning Tasks

 

Fill out the required planning docs and send over to your Aspenware Representative. Possibly set up a call to review requirements. Required

prerequisite

2. POS Tasks

 

GPPs created for each reservation type in RTP|One (if using Customer Roles)- Optional

prerequisite

Customer roles mapped to General Program Profiles in Aspenware Commerce (if using Customer Roles)- Optional

prerequisite

General Program Profile scheduled task set to run in RTP|One (if using Customer Roles) -Optional

prerequisite

Stored procedure deployed to RTP|One with table filled out. - Required

prerequisite

Reservation product headers created for each reservation type - Required

prerequisite

3. Aspenware Commerce Tasks (Overall)

 

Inventory display threshold setup - Optional

prerequisite

Ignore ACL rules setting disabled (if using Customer Roles)- Optional

prerequisite

Cancellation language strings configured - Required

prerequisite

Seasons for "pricing" pass reservation products created - Optional

prerequisite

HTML widget to prompt guest to login configured - Optional

prerequisite

ecommercesettings.reservationvalidateprompt.cachetime set to 0 - Required

prerequisite

HTML widget for pricing calendar styling added - Optional

prerequisite

Customer roles created for each reservation type in AW Commerce Optional

Detailed Setup

Reservation category assigned all reservation customer roles -Optional

Detailed Setup

Product Attribute for Passholder Assignment Created - Required

Detailed Setup

Specification Attribute for IsReservationProduct configured - Required

Detailed Setup

Specification Attribute for MaxReservations configured - Required

Detailed Setup

Specification Attribute for IsReservatioCancellationEnabled configured - Required

Detailed Setup

Specification Attribute for Reservation Cutoff Days [Reservation Cutoff Days] configured - Required

Detailed Setup

Specification Attribute for Reservation Cutoff Hours [Reservation Cutoff Hours] configured - Required

Detailed Setup

Work with your Aspenware Representative to Configure the ‘Reservation Product Calendar Styling’ HTML widget if using advanced calendar view. Optional

Detailed Setup

2. Aspenware Commerce Tasks (Reservation Product)

 

Assigned reservation customer role to product - Optional

Detailed Setup

Assigned Pass Reservation Attribute - Required

Detailed Setup

Product Attribute Combination table generated with Pass Reservation Attribute Row - Required

Detailed Setup

[Pricing Calendar] in text prompt for Pass Reservation Attribute - Optional

Detailed Setup

[Hidden Signed In] in text prompt for Pass Reservation Attribute - Required

Detailed Setup

Assigned MaxReservations Spec Attribute - Required

Detailed Setup

Assigned IsReservation Spec Attribute - Required

Detailed Setup

Assigned IsReservationCancellationEnabled Spec Attribute - Required

Detailed Setup

Assigned Reservation Cutoff Hours [Reservation Cutoff Hours] Spec Attribute - Required

Detailed Setup

Assigned Reservation Cutoff Days [Reservation Cutoff Days] Spec Attribute - Required

Detailed Setup

Product Header Code added -Required

Detailed Setup

Date attribute added with [Date] [Dynamic] [Inline Calendar] in text prompt - Required

Detailed Setup

Assigned to attribute added with { "lock": true } [Assigned To] in Text Prompt - Required

Detailed Setup

Min and Max cart quantity set to 1 -Required

Detailed Setup

Set to autofulfill -Required

Detailed Setup

Dynamic pricing classification added - Optional

Detailed Setup

Renewal lock classification -Required

Detailed Setup

Requires Assignment classification -Required

Detailed Setup

Pricing calendar classification - Optional

Detailed Setup

Setup for Dynamic pricing (in dynamic pricing tool) -Optional

Detailed Setup

Product prompt assigned - Required

Detailed Setup

Inventory pool setup - Required

Detailed Setup

HINT: Want to take it a step further? Check out our Reservation training webinar here.

Prerequisite Tasks

1. Planning Tasks

IMPORTANT: Aspenware recommends agreeing to to professional services engagement with Aspenware to set up. These projects are typically between 5 -20 hrs of Aspenware time depending on complexity and amount of product build Aspenware is helping with.

  • Reach out to your Aspenware Representative to set up a call to talk through your requirements and put a project plan together. From here, we’ll complete the following table and design your stored procedure custom to meet your needs. Prior to this call read through and complete the following worksheets for your product mix.

    • If you would like to skip this step - complete the forms and send them to your Aspenware Representative with the following table completed. It is not recommended to skip this call as there are nuances to make sure you and other resort stakeholders understand from a guest communication perspective that makes a call most valuable. 

Info Required for Reservation Setup:

Item

i.e. Year-Round Pass holder

i.e. 5 Day Pass holder

Initial Sale Product(s) - Product component code(s)

ie. 10536 (adult)
ie. 19876 (child)

ie. 10537 (adult)
ie. 74321 (child)

Reservation Product(s) - PHC

ie. 10545

ie. 10547

Number of Reserveable Days

Unlimited

5

Rolling Days? (Mark N if Fixed)

Y

N

General Program Profile Code For Rez Category Access (Optional - will be assigned to all members of Household)

ie. 4550 (Household Role)

ie. 4550 (Household Role)

Penalty for Skipping? (Y/N) (Optional)

Y

N

Describe Desired Penalty (Optional)

Miss two days, can't book for next 7 days

N/A

Cancellation Enabled (Y/N)

Y

Y

Cancellation Window (When will you not allow Cancellations after?)

Midnight the day before

Midnight the day before

Add. Notes

Add additional requirements here

Add additional requirements here

2. POS Tasks

  • To enforce the reservation date limitations and to fence the product to only eligible guests, Aspenware Commerce checks whether guests are eligible for products based on other purchased products on their profile. To perform these checks, a custom Aspenware stored procedure is required to be deployed and configured in RTP|One. Talk to your Aspenware Representative to get this functionality deployed in your RTP|One environment. 

    • DETAILS: When the stored procedure referenced above is called, it references the access rule on the customer’s profile or previously purchased products and grants eligibility to purchase the $0 reservation product. Once the $0 reservation product is purchased, another 1-day access product will be active on the customer’s profile in RTP|One.

  • Create your reservation product headers in RTP|One for each reservation product. The Product Header Code used for these products MUST be a product header with access added to it and the access component MUST be set up as always pre-load. These must be set up for 1-day of access based on the Product Date.

  • Create your core Pass Product and your Reservation Product in RTP|One for each offering (age, # of days, etc).

    • Core reservation product header setup should:

      • Be priced to the total you want the guest to pay.

      • Has an access component, like other season passes (always preload), but the access rule is NOT set up under Access Rule Location Group. This access is for eligibility, not lift access. The Access Rule Product Type entry is required which is used to reference how many total reservation days are allowed.

      • Have a media component for output per your resort’s requirements.

    • Reservation product header setup should:

      • Be priced at $0 (Aspenware functionality doesn’t support any other price points for reservation products).

      • Have an access component, like other 1-day lift tickets, to grant lift access for the product date only.

    • Include no output/media component.

NOTE: In order to record a skier day statistic when this access is scanned, you’ll want to set up a Usage product with a skier date stat. The actual Access product at the $500 will never be scanned, so if you want a skier stat we recommend setting up Usage products (Auto-Post).

  • In addition to deploying a stored procedure, General Program Profiles will need to be created for each reservation type you will be using if taking advantage of Customer Roles functionality. Talk to your Aspenware Representative about how to best set these up. 

  • If taking advantage of Customer Roles functionality, as part of the RTP|One reservation stored procedure, Aspenware will be setting up a scheduled task to run every minute that will assign General Program Profiles to guests and household members based on whether they have purchased the product that is eligible for reservation products.

3. Commerce Tasks

Customer Roles are created in Aspenware Commerce and mapped to RTP|One General Program Profiles via the Role Configuration Plugin.

  • Go to Customers > Customer roles and select Add new.

  • Name the role according to the reservation type (i.e. Unlimited passholder) and click Save (all other defaults remain unchanged)

  • Associate the customer role in Aspenware Commerce to the RTP|One General Program Profile ID by going to Aspenware Commerce > Role Configuration.

  • Choose the Customer Role recently created from the drop-down.

  • In the External Role Id field, enter the General Program Profile ID. Leave the other fields blank and select Map to save. 

Settings, Language Strings, and/or HTML Widgets

Settings

To configure the following settings, go to Settings > All settings (advanced) and enter the setting name into the Name field of the Search box.

  • Define the store-wide setting ‘catalogsettings.dynamicpricingcalendar.inventorymessagethreshold’ at the desired threshold to notify guests of low availability.

  • Set the store-wide setting ‘catalogsettings.ignoreacl’ to false, which enables customer roles to be set at the category level.

  • Set the store-wide setting ‘ecommercesettings.reservationvalidateprompt.cachetime’ to 0, which enables cancellation requests to immediately take effect on the PDP.

Language Strings

Instructions for updating this language string can be found here.

  • Update ‘reservation.cancel.modal.text’ if “Are you sure you want to cancel this reservation?” is not desired as default.

  • Update ‘reservation.cancel.modal.title’ if “Reservation Cancellation” is not desired as default.

  • Update ‘reservation.cancel.fail’ if “We were unable to cancel your reservation. Please contact services at ###-###-#### for assistance” is not desired as the default.

HTML Widgets

Instructions for updating or adding HTML Widgets can be found here.

  • Configure 'Reload/Reservation Sign In Message' using HTML Widget.

  • Configure ‘Reservation Product Calendar Styling’ and update category SEO name using HTML Widget.

Detailed Setup Guide

  1. Create Reservation Category

  2. Create Reservation Product Attribute

  3. Create Reservation Specification Attributes

  4. Create Reservation Product

  5. Add Product Classifications to Reservation Product

  6. Add Dynamic Pricing to Reservation Product (Optional)

  7. Add Inventory to Reservation Product

  8. Create and Assign Product Prompt to Reservation Product

  9. Set Product to Autofulfill

1. Create Reservation Category

  • Create a new category and limit visibility to this reservation category by customer roles. Map all relevant reservation roles to that category by

  • Go to Catalog >Categories.

  • Enter the Category name for the reservation category. 

  • Ensuring the view mode is set to Advanced by toggling the Basic/Advanced button.

  • In the Mappings section, go to the Limited to customer roles field and select the customer roles that have eligibility to see this category. (Assigning customer roles to reservation products will be covered below.)

  • (Optional) Work with your Aspenware Representative to Configure the ‘Reservation Product Calendar Styling’ HTML widget if using the advanced calendar view.

2. Creating Reservation Product Attribute

Create a new product attribute that will be used to communicate to the guest that they must login in order to purchase this product once the attribute has been added to the product.  These will need to be assigned to the product in a later step but must be created first.

  • Go to Product > Attributes > Product attributes.

  • Select Add New.

  • Enter a name for your new attribute in the Name field/ (i.e. Requires Passholder Assignment.)


  • Click Save and Continue Edit.

  • Expand the Predefined Values section by clicking the + icon.

  • Select Add a new value.

  • In the Name field, type in the new value ‘Must be passholder to purchase [Reload]’

  • Click Save.

Example of HTML widget showing the sign-in prompt.

3. Creating Reservation Specification Attributes

Create specification attributes to drive the functionality of the reservation product. These will need to be assigned to the product in a later step but must be created first.

These classifications will do the following:

  1. Classify a product as a passholder reservation product.

  2. Restrict the max number of reservations a guest can have for a reservation product.

  3. Define whether a reservation day can be proactively canceled by a guest.

  4. Define the cutoff window for when a reservation date can no longer be canceled.

To create Reservation Specification Attributes:

  • Go to Catalog > Attributes > Specification attributes to get to the Edit specification attribute details page and click Add new to create the following attributes.

     

  • In the Name field, type the name of the desired attributed (see below)

  • Click Save and Continue Edit.

  • Click Add a new option.

  • Enter the appropriate value for the attribute in the Name field (see below) and click Save.

Create IsReservationProduct Attribute

  • In the Name field, type ‘IsReservationProduct’

  • Enter ‘YES’ in the Name field and click Save.

Create MaxReservations Attribute

  • In the Name field, type ‘MaxReservations’

  • Enter ‘count’ in the Name field and click Save.

 

Create IsReservationCancellationEnabled Attribute

  • In the Name field, type ‘IsReservationCancellationEnabled’

  • Enter ‘YES’ in the Name field and click Save.

Create Reservation Cutoff Days [Reservation Cutoff Days] Attribute

This specification attribute determines the cancellation window dates or the latest date that a guest may cancel their reservation before the cancellation button is removed as an option from the Aspenware Commerce site. The default for days is 0, which allows guests to cancel unused reservations on the day of their reservation. If you would like to restrict guests to the day before (e.g. days = 1) or earlier, enter additional integers.

(Note that the instructions below are slightly different than previous product specification attributes.)

  • In the Name field, type ‘Reservation Cutoff Days [Reservation Cutoff Days]’

  • Enter ‘0’ in the Name field and click Save

  • Click Add a new option and enter '1' in the Name field to restrict guests from purchasing the reservation product to the day before and click Save

  • Save

Create Reservation Cutoff Hours [Reservation Cutoff Hours] Attribute

This specification attribute determines the cancellation window time or the latest date and time that a guest may cancel their reservation before the cancellation button is removed as an option from the Aspenware Commerce site. The default for time is 0, which allows guests to cancel unused reservations on the day of their reservation.

(Note that the instructions below are slightly different than previous product specification attributes.)

  • In the Name field, type ‘Reservation Cutoff Hours [Reservation Cutoff Hours]’

  • Enter the time of day in military time for when a reservation can no longer be cancelled (e.g. 13:00.)

4. Creating Reservation Product

  • Within the Inventory section, set both Maximum Cart Qty and Minimum Cart Qty to 1. (This setting prevents guests from inadvertently adding the same reservation day for the same guest to cart more than once.) 

  • Select the appropriate customer role(s) from the Customer Roles drop-down list and click Save.

  • Scroll to the Product Attributes section and click Add a new attribute. Add the following attributes (make sure each is marked “Is Required”): 

  • Add the following attributes (make sure each is marked “Is Required”): 

Attribute

Text Prompt

Control Type

Required

Start Date

[Date] [Dynamic] [Inline Calendar]

Date Picker

Yes

Passholder Required Attribute 

[Pricing Calendar] [Hidden Signed In]

Radio button list

Yes

AssignedTo

{ "lock": true } [Assigned To]

Textbox

Yes

  • Add Attribute Value to Requires Passholder Assignment attribute by selecting Edit next to the Passholder Required Attribute (attribute created above).

  • Scroll down to Values and click Add new.

  • Enter Name followed by [Reload] (i.e. For passholders only [Reload]), check the box Is pre-selected and click Save.

Figure Above of Pricing Calendar Display for reservation product

Figure above is of reservation product detail page when not logged in - notice attribute value is overlaid with a message and link to sign in. 

Figure above of reservation product detail page when logged in - notice attribute value is hidden 

  • Add attribute combination to the combination table by returning to the Edit Product Details page, scroll down to the Product attributes section, and click the Attribute combination tab (this will give you an attribute that can be dynamically priced.)   

  • Select Add combination.

  • Select the radio button (there should only be one) that applies to the attribute: Requires passholder assignment.

  • Add Product header code for reservation product in SKU field and click Save.

To create Product Specification Attributes:

  • On the Product details page, scroll to the Specification attributes section and click Add attribute to create the following specification attributes.

  • Add the new production specification attributes by entering the values below on the Add a new product specification attribute page.


Add the IsReservationProduct specification attribute by entering the following values:

  • Attribute type: Option

  • Attribute: IsReservationProduct

  • Value: YES

  • Allow filtering: no

  • Show on product page: checked

  • Display order: does not matter

Add the MaxReservations specification attribute by entering the following values:

  • Attribute type: Custom Text

  • Attribute: MaxReservations

  • Value: Enter max number of days

  • Allow filtering: no

  • Show on product page: checked

  • Display order: does not matter 

Add the IsReservationCancellationEnabled specification attribute by entering the following values:

  • Attribute type: Option

  • Attribute: IsReservationCancellationEnabled

  • Value: YES

  • Allow filtering: no

  • Show on product page: checked

  • Display order: does not matter

Add the Reservation Cutoff Days [Reservation Cutoff Days] specification attribute by entering the following values:

  • Attribute type: Option

  • Attribute:  Reservation Cutoff Days [Reservation Cutoff Days]

  • Value: Select from pre-defined option with cut off days numeric value

  • Allow filtering: no

  • Show on product page: yes

  • Display order: does not matter 

Add the Reservation Cutoff Hours[Reservation Cutoff Hours] specification attribute by entering the following values:

  • Attribute type: Custom Text

  • Attribute:  Reservation Cutoff Hours [Reservation Cutoff Hours]

  • Value: Enter reservation cutoff hour in military time

  • Allow filtering: no

  • Show on product page: checked

  • Display order: does not matter 

When your specification attributes are fully added, the specification attribute table should look like the table below (if you were to cut off reservations at midnight the day before.)

When your specification attributes are fully added, the specification attribute table should look like the table below (if you were to cut off reservations at 1:00 pm the day of the reservation.)

5. Add Product Classifications to Reservation Product

  • Go to Aspenware Commerce > Product Classifications.

  • Search for your product in the Product field and click Add Assignment to add the following assignments:

    1. Requires Assignment

    2. Renewal Lock Product

    3. Dynamic Pricing Days to Arrival (optional - only use if dynamically pricing and/or desire is to remove/block days using dynamic pricing tool in addition to inventory pool controls)

    4. Show pricing calendar view (optional - only use if dynamically pricing and a) desire to show inventory pool quantities left on the pricing calendar and/or b) desire to show dynamic prices)

6. Add Dynamic Pricing to Reservation Product (Optional)

  • Go to Aspenware Commerce > Dynamic Pricing

  • Search for your product and click Edit Override Windows.

  • Add the following to create a Window:

    1. Window Title: Online

    2. Display Order = 101

    3. Days Out = 0

    4. Days Out End = 10000

    5. Track Quantity = True

    6. Type = Price

  • Edit Pricing by going to Aspenware Commerce > Dynamic Pricing.

    1. Search for your product and Select Edit Pricing.

    2. Select Product Variant(s), select Base, select Show Schedule.

    3. Choose Sale Periods or Seasons to edit and select Edit Date Range and define $0 price for Base.

    4. Go to Aspenware Commerce > Dynamic Pricing >

    5. Search for your product again and Select Edit Pricing.

    6. Select Product Variants, select Override, select Online, click Show Schedule.

    7. Select Seasons or Sale Periods to edit and click Edit Date Range.

      1. Define price = $0

      2. Define quantity = 10,000

7. Add Inventory to Reservation Product

  • Go to Aspenware Commerce > Inventory Pools and select product from the Product drop-down.

  • Enter the product component code(s) that have inventory added to it in RTP|One in the Code(s) field. 

  • If the inventory pool has multiple locations configured, add a location code in the Location field, but this is only required if more than one location is defined on the inventory pool.

  • Only single day reservation products are supported, so Number of Days should be set to 1 only.

  • Set Lock Timeout to 900 (this is the seconds that inventory will be “protected” in a guests’ cart.)

  • Click Add.

8. Create and Assign Product Prompt to Reservation Product

  • Go to Aspenware Commerce > Product Prompts and click Add Product Prompt.

  • Enter the following values into the fields::

    1. Code: (from RTP Stored Procedure Prompt)

    2. Check Validate on Checkout Assignment

    3. Check Is Validation Prompt

    4. Check Is Required

    5. Do NOT Check Prevent Duplicates 

    6. Check Is Reservation Validation

  • Click Add.

 

  • To assign the product prompt to a product, go to Aspenware Commerce > Product Prompts and click View Assigned Product Prompts.

  • Click Add Product Prompt Assignment.

  • Select the reservation product from the Product dropdown and choose correct Reservation Product Prompt.

  • Click Add.

  • Repeat Product Prompt Assignment for each reservation product.

9. Set Product to Autofulfill

  • Set up the reservation as an autofulfill product.

  • Go to Aspenware Commerce >Autofulfill plugin.

  • Select the reservation product from the drop-down.

  • Check the autofufill box and click Save.