The Dynamic Pricing component enables resorts to set up flexible pricing based on specific dates, number of days booked from arrival, and pricing levels that increase as each level’s quantity is sold out. This allows resorts the flexibility to set demand-based pricing, fluctuating based on high volume days, off-peak days, holidays, and weekends to increase sales and profits.
HINT: A video training of the Dynamic Pricing module in Version 2.20 or later is available. The Dynamic Pricing training portion begins at 7:59.
Interested in learning more about the Dynamic Pricing Savings Display on the PDP? Watch the Improvind the Shopping Experience with New Features Webinar (April 2021). Note that you will need to register to receive the on-demand recording.
IMPORTANT: The Legacy Dynamic Pricing admin tool can be used for two specific pricing tasks that have not yet been ported to the newer Dynamic Pricing admin. For all other dynamic pricing setups and management, use the Dynamic Pricing tool available in the Product Editor view, rather than the Legacy Dynamic Pricing Plugin.
Setup Checklist
This section is a comprehensive and high level summary of all tasks and prerequisites required for this feature to function properly. This section is purposed for use after an administrator is familiar with configuring this feature as an “audit” checklist. For detailed set-up instructions, jump down to “Prerequisite Tasks” and “Detailed Setup Guide” and then follow up with this checklist to ensure all steps are completed.
1. POS Tasks | |
1. Follow the POS standard product setup requirements from Configuration: PRoduct Shell. REQUIRED
| PREREQUISITE |
2. Aspenware Commerce Tasks | |
---|---|
| PREREQUISITE |
Language String and Settings - OPTIONAL Settings
Language Strings
| PREREQUISITE |
1. Dynamic Pricing Module Configuration
2. Create Days To Arrival Windows REQUIRED
3. Configure Time Period Groups and Time Periods REQUIRED
4. Define Levels OPTIONAL
5. Assign Pricing REQUIRED
6. Add Dynamic Pricing Savings Display to PDP OPTIONAL
NOTE: The following two functions require using the Legacy Dynamic Pricing Admin tool as this function has not yet been ported to the newer Dynamic Pricing tool that is accessible on the product editor page. 7. Edit Pricing on Specific Days Not Limited to a Specific Time Period OPTIONAL 8. Remove Pricing from Dates that Have been priced OPTIONAL | DETAILED SETUP |
Prerequisite Tasks
This section describes all requirements that must be completed before you can begin setting up this feature. Once these tasks are complete continue to the next section.
POS Tasks
Follow the standard product setup requirements from Configuration: Product Shell.
If you are selling these products onsite, you’ll want to set up pricing for these products so that you can leverage whatever demand-based pricing your POS makes available for on-site sales (i.e. Pricing Seasons in RTP|One)
Commerce Tasks
1. Configure Core Product
Install both the Dynamic Pricing and Dynamic Pricing v2 plugins - work with your Aspenware Representative to complete this task.
Configure Core Product
Before dynamically pricing a product, ensure the following is true:
The product is fully set up and prepared for dynamic pricing
The attribute “Start Date” has been added with “[Date] [Dynamic]” added to the Text Prompt field and the control type is “Date picker”.
If utilizing the large pricing calendar view then all required attributes have the Text Prompt [Pricing Calendar]
All attributes and values are configured on the product, and the product attribute combination table is built out fully and perfectly. Ensure the attribute combination table has all necessary attribute combinations and there are no unnecessary rows or duplicates before proceeding.
If the attribute is required to book the core product, such as Age and Number of Days, it is a Required attribute.
If the attribute is an add-on attribute and does not impact the price or SKU (RTP|One product header) of the core product, it should not be required and should not be present in the attribute combination table. (e.g. An add-on rental to a ticket or lesson should not be required or included in the product attribute combination table).
The SKUs have been entered in the product attribute combination table.
Only combinations that require dynamic pricing display in the combination table. Add-ons should not be included in the combinations.
NOTE: There are two additional versions of the full-page pricing calendar. The Advanced Pricing Calendar enables color-coding and other customizations features for all resorts. The Redesigned Full-Page Pricing Calendar is for Cloud Resorts and is part of Cloud UI. It features a fresh look that has been extensively tested and proven to boost conversion rates and revenue.
IMPORTANT: Any required attributes on products that are dynamically priced CANNOT use the Checkbox control type, use Radio Button control type instead.
IMPORTANT: This step should be fully complete before beginning to dynamically price the product. Making additional changes to the core product after configuring dynamic pricing for it will cause unwanted behavior.
2. Add Product Classification(s)
Go to Aspenware Commerce > Product Classifications and click Add assignment.
Select the product you created above.
It is required to assign the ‘Is Dynamically Priced’ product classification.
If you’d like to show the large pricing calendar view, scroll to ‘Show pricing calendar view’ and click Assign checkbox.
Optionally if the product has inventory controls and is a multi-day product, you’ll want to allow consecutive multi-day selections. If this is not necessary for your product, skip to the next step.
If you’d like to require consecutive multi-day selection, scroll to ‘Is Consecutive Multi-Day Product’ and click Assign checkbox.
Click Add.
IMPORTANT: Non-consecutive date selection products cannot have dynamic pricing.
3. Optional Product Setup
Optional Product Setup
The following steps are optional but are commonly used for dynamically priced products.
Set up inventory pools for the product. See Inventory Configuration for instructions.
Add reloadable media for the product. See Pass Media Reload Configuration for instructions.
Set up [Cutoff Days] and/or [Cutoff Time] in specification attributes if you'd like to limit the availability of products within a certain number of days/hours from purchase.
4. Verify Plugin Dynamic Pricing v2 Plugin
Ensure that the Dynamic Pricing v2 Plugin is installed, enabled and configured.
Go to Configuration > Local Plugins, search Group ‘Aspenware,’ and verify Dynamic Pricing v2 is installed and enabled.
To enable, Edit the plugin, click on “Is enabled”
Save
Repeat for Dynamic Pricing plugin
Settings for this Feature
NOTE: For Cloud UI customers, additional settings can be found in the Redesigned Full-Page Pricing Calendar.
This feature may require updates to the following settings, language strings and/or HTML Widgets. Learn more about how to update and create Settings, Language Strings, and HTML widgets follow the links to the respective section.
Settings
See Store-wide Settings (All settings) Library for the latest up-to-date settings, examples, and configuration.
Setting | Use | Image example (click to enlarge) |
CatalogSettings.DynamicPricingCalendar.PricingCountMessageThreshold | For dynamically priced products utilizing the large calendar view, if the number of products left at the current pricing tier is less than this setting amount, then a message will display notifying guests of how many products are left at the current tier’s price. (note: this setting’s messaging will be replaced with low inventory messaging if the minimum quantity setting “shoppingcartsettings.minimumquantity.quantitymessage” is triggered) |
|
catalogsettings.dynamicpricingcalendar.inventorymessagethreshold | For products utilizing the large calendar view and that are set up with inventory configuration, if the number of available spots is less than this setting amount, then a message will display notifying guests of low availability. |
|
seasonsettings.startdate | Defines the first day that date-based products are available for reservation. Note: If you operate multiple stores through Aspenware Commerce then this setting is required to be set for “All stores” and each individual store may have a unique setting if desired. | n/a |
seasonsettings.enddate | Defines the last day that date-based products are available for reservation. Note: If you operate multiple stores through Aspenware Commerce then this setting is required to be set for “All stores” and each individual store may have a unique setting if desired. | n/a |
Language Strings
NOTE: For Cloud UI customers, additonal language strings can be found in the Redesigned Full-Page Pricing Calendar.
If you are adding the Dynamic Pricing Savings Display to the PDP, you have the ability to show and hide the amount remaining beneath the savings display (see example below) using the following language string. By default, this language string is configured and will display.
Go to Configuration > Languages > Edit
Scroll to the bottom and add the language string Resource Name shown in the table below
Add the text you would like displayed beneath the price on the PDP in the Value field making sure to keep the {CountRemaining} token which will display the inventory # remaining (in the above example {CountRemaining} = 614
Select Add new record.
Resource Name | Value | Location | Example (click to enlarge) |
unity.dynamicpricing.inventoryremaining | Default: Only {CountRemaining} left on this date Note: To eliminate any messaging about remaining inventory, simply leave this language string blank. | Shopping Cart |
Detailed Setup Guide
Open Product Editor and Expand Dynamic Pricing Section
Create Days To Arrival Windows
Configure Time Period Groups and Time Periods
(Optional) Define Levels
Assign Pricing
(Optional) Add Dynamic Pricing Savings Display to PDP
(Optional) Edit Pricing on Specific Days Not Limited to a Specific Time Period
(Optional) Remove Pricing from Dates that Have been priced
1. Open Product Editor and Expand Dynamic Pricing Section
To Dynamically Price a product, go to the Product Editor screen (Catalog > Products > Search for product), scroll down to the bottom of the Product Editor screen, and expand the Dynamic Pricing section.
IMPORTANT: Once a product has been dynamically priced, Dynamic Pricing cannot be undone.
2. Create Days to Arrival Windows
Click +DAYS TO ARRIVAL and populate the Name and Days Start Fields. Days Start is the number of days from the arrival date when the pricing window will apply. For example, if setting up an ‘outside of 48 hours’ window, set this to 2 and it will apply two days out from the arrival date if there isn’t a more specific (closer to arrival date) level set that applies to the reservation date.
NOTE: Never use a comma when naming a Days to Arrival as it will cause unwanted behavior.
IMPORTANT: The Base window is auto-generated when you create your first Days to Arrival window. Base is set to “0” days to Arrival, but since it is not an actual price, you must also define a Day To Arrival window that includes or equals 0 (Day Of) to avoid $0 products for Day of purchases. Must have “Base” and “Online” both set to 0 at minimum.)
WARNING: Do not create “Base” Arrival Window
When adding Arrival windows never create an arrival window as “Base”. When an Arrival Window is created with the name of “Base” it will put the product in a corrupted state as the system will not auto-generate the Base Window as it is meant to be created.
Always make the first creation of an Arrival Window a useable Arrival window, doing this will allow for the system to auto-generate base for the optimal configuration of the product.
Save
3. Configure Time Period Groups and Time Periods
When first configuring a product for dynamic pricing, you’ll be presented with an option to assign an existing Time Period Group to a product or create a new one.
IMPORTANT: Be careful to never Duplicate a Time Period Group name. Consider using a year designation for your Time Period Groups (21-22, for example), so that certain modifiers (Early Fall) can be used from year to year without causing a conflict.
After the product has initially been set up, there are three options available when you click the TIME PERIODS OR GROUPS BUTTON
Create a Time Period Group. If a TIme Period Group has already been created for which this product will utilize the same rules, skip this step, and simply assign an existing Time Period Group.
Select + CREATE A TIME PERIOD GROUP, this will be used as a grouping for related Time Periods for example, 21-22 WINTER SEASON would be the Time Period group that will house the following Time Periods: 21-22 Early and Late Season Dates, 21-22 Peak Dates, and 21-22 Off-Peak Dates.
Enter the group name (e.g. 21-22 Winter Season)
Click SAVE TIME PERIOD GROUP
Assign a Time Period Group (TPG) to the product
Select + ASSIGN A TIME PERIOD GROUP
Time Period Groups can be assigned, if they have already been created, but are not currently assigned to this product.
Select Assign Time Period Groups,
Locate and select the TPG select
Click SAVE.
Create a Time Period
Time periods are the pattern of days that you wish to apply a specific pricing strategy. A time period can be defined by days of the week (Saturday, Sunday) or dates (Monday, September 6), or a combination of both.
Enter a descriptive name (e.g. 21-22 Weekends/Holidays)
Order is assigned automatically.
Select an existing TIME PERIOD GROUP (you cannot SAVE without assigning a Time Period Group., so be sure you have defined the group before defining the period or assigned an existing TPG to the product.)
Enter a start date and end date for the period (this can correspond with your season, or go far out into the future, depending on what you are building)
Click on the DAY OF THE WEEK to apply to the schedule or CLICK ON SPECIFIC DATE IN CALENDAR to add that date.
Use the calendar widget to deselect highlighted days that follow the rules defined above to remove them from the season, or to select days that do not follow the rules defined above to add them to the season. Ultimately the days that get added to the Time Period will be the dates that are highlighted on the calendar. In the example below, because Sept 6 is selected, even though it does not follow the pattern of Sat/Sun dates between 8/17 - 10/31, it will be included in the Time Period’s set of dates.
Select + CREATE TIME PERIOD
Repeat for all Time Periods that will be added to the Time Period Group.
HINT: Time Period Groups and Time Periods can easily be shared across products.
4. (Optional) Define Levels (formerly called Tiers)
Tiers offer the opportunity to sell various amounts of inventory at different prices, on the same day. Some resorts use tiers to attract attention with dramatically reduced prices on only a few tickets, known as loss-leaders, while others choose to sell all products at the same price, and choose to not define or use tiers.
Click + LEVEL to add a level. Levels are automatically Named (Tier 1, Tier 2) in the order they are produced and are consumed starting with the lowest Tier (1) and ending with the highest.
Populate the Description with a helpful descriptor, such as ‘15% discount’ or ‘lowest price’, which will be helpful when you are pricing products.
Click SAVE.
NOTE: If you are using multiple Arrival Windows and defining tiers for multiple Arrival Windows, tiers always have their own individual available quantities for each Arrival Window. So if the ‘48 hours in advance’ Arrival window for a date sells out through Tier 1 and begins selling into Tier 2, once the ‘Day of pricing' Arrival window kicks in, it will start selling back at Tier 1.
If you use tiers and multiple Arrival Windows, it is not required (or even recommended) to define tiers for each Arrival Window. In fact, it is most common to only define tiers for a single “further out” arrival window. For example, tiers might be configured on the ‘7 days out’ arrival window, but not for the ‘Day of pricing' or 48 hours in advance' Arrival Windows, which will likely only have one configured “list price” within their window.
RECOMMENDATION: If you use tiers, we recommend that you configure inventory scarcity to show guests the number left in that tier. This practice tested very well with users in A/B testing.
5. Assign Pricing
Click on the Pricing Calendar tab to begin applying pricing to the product.
Use filters to select different variant combinations, in combination with time periods.
In the example, 5 & Under, with the defined DAYS TO ARRIVAL of “10 Days Out” and “A Week Out” are selected.
The Variants you have selected are displayed on the right, and you can select a single time period or multiple time periods to price. Once you have selected your time period, click SET PRICES
IMPORTANT: Base pricing is required and if not configured may cause unwanted product behavior. Base pricing is also never used as a selling price.
The SET PRICES window appears, in a collapsed state, displaying the Variant combinations you are pricing.
If multiple time periods were selected, you will be required to select a single Time Period to define pricing for. Once the time period is selected, the variants will be selectable.
NOTE: The first variant combination you should price is BASE – for each variant combination. Base pricing is used to show the % savings the customer is receiving by buying online. Configuring base pricing is required.
Expand the Base tab by clicking the down arrow, and assign a price. For the BASE only, do not define levels.
SAVE.
To Price the remaining variant combinations, simply expand each window, and SAVE after assigning prices and any desired Price Levels and Quantities. SAVE after setting each window, then collapse it and expand the next.
NOTE: If you are using multiple Arrival Windows and defining tiers for multiple Arrival Windows, tiers always have their own individual available quantities for each Arrival Window. So if the ‘48 hours in advance’ Arrival window for a date sells out through Tier 1 and begins selling into Tier 2, once the ‘Day of pricing' Arrival window kicks in, it will start selling back at Tier 1.
If you use tiers and multiple Arrival Windows, it is not required (or even recommended) to define tiers for each Arrival Window. In fact, it is most common to only define tiers for a single “further out” arrival window. For example, tiers might be configured on the ‘7 days out’ arrival window, but not for the ‘Day of pricing' or 48 hours in advance' Arrival Windows, which will likely only have one configured “list price” within their window.
Click CLOSE when you have finished pricing all the selected Variants.
Priced Products display in the calendar, which will also indicate if Tiers have been defined.
Use the REVIEW PRICING Tool to help organize pricing of complex products, as well as view sales.
You can click through the calendar to view a specific date. The calendar indicates how many variant combinations have been priced on a specific date. If you click on the date, the window shows you which variant combinations have the pricing applied.
If you expand the view, it shows you what the settings are, and also how many were sold at that price and/or Level.
NOTE: You will need to manually clear the cache in admin in order for your price changes to appear in the store to guests.
HINT: If using multiple Levels and Days to Arrival it is recommended to use Aspenware’s Import Pricing Tool to manage pricing through an Excel Spreadsheet. Importing pricing works for all variations of dynamically priced products, including products with levels restricting the number of products available at certain prices, days to arrival, and more.
6. (Optional) Add Dynamic Pricing Savings Display to the PDP
The Aspenware Commerce Dynamic Pricing Savings Display feature allows resorts to show price savings on both regularly priced products and dynamically priced products without using the pricing calendar. When the dynamic pricing plugin is installed, this feature is automatically enabled for any dynamically priced product and can be optionally enabled for products not using dynamic pricing. Resort admins can turn on or off the crossed-off original price that displays next to the online price on the product detail page.
For dynamically priced products, the base price will show as crossed off when the following conditions are met:
The base price is set and is not set to 0.00
The base price is greater than the display price
The Hide Original Price checkbox in the dynamic pricing admin panel is not checked (this box may be checked to disable the feature for dynamically price products. To access the Dynamic Pricing Admin panel:
Go to Configuration > Local plugins
In Group, select ‘Aspenware Commerce’
Click Search
Scroll to the Dynamic Pricing widget
Click Configure
Check or uncheck the Hide Original Price checkbox
Click Save
To utilize the Savings Display feature on non-dynamically priced products, the product must have an old price assigned to it. The old price will show as crossed off when the same criteria as indicated for dynamically priced products are met (see above).
NOTE: Old price will always compare to the price of the product based on its attribute combination. Thus, because old price is set at the base product level, it remains the same though the product price may change based on attributes.
7. (Optional) Edit Pricing on Specific Days Not Limited to a Specific Time Period
NOTE: This function requires using the Legacy Dynamic Pricing Admin tool as this function has not yet been ported to the newer Dynamic Pricing tool that is accessible on the product editor page.
IMPORTANT: The Legacy Dynamic Pricing Admin tool is not compatible with the button chip or checkbox control types. If a product attribute uses either of these, temporarily change it to a radio button or dropdown while editing prices, and then switch it back afterward.
Go to Aspenware Commerce > Dynamic Pricing in Admin.
Search for the product using the Product name field (e.g. type “ticket” to find lift tickets).
Find the desired product’s row and click Edit Pricing.
Update Base Pricing
Select the attributes listed under “Select Product Variant(s)”
Select multiple attribute values in a selection using the Shift key; select multiple non-consecutive values using the Command key on a Mac and Control on a PC.
If your product has conditional attributes, they will be able to be priced, but you have to make a selection in each attribute selection (even if it is not valid for the combination you are pricing) in order to price attributes.
Reminder, if you use a checkbox or button chip as a control type on your core product for any required attribute, it will not work. These must be set as Radio button or drop down control type.
Ensure “Base” is Selected
Click Show Schedule
Click the date(s) you wish to update in the top row of the table (you can view the dates in month or week view.
Check off the attributes to price in the calendar
Click Edit Date(s)
In the pop-up enter the price that will be used as the base price aka ‘window rate’ and click Update.
NOTE: Depending on the number of attributes and the number of dates being input this can take a few minutes for the data to save into the system.
Optionally, there is also a “Month View” toggle on the calendar that can be used to see a wider set of date ranges.
Set Override Pricing
Override pricing is the price that guests will purchase the product at. This is where pricing window prices are set, tier pricing is set, and each tier's quantities to be sold are set.
Select the attributes listed under “Select Product Variant(s)”.
Select multiple attribute values in a selection using the Shift key; select multiple non-consecutive values using the Command key on a Mac and Control on a PC.
If your product has conditional attributes, they will be able to be priced, but you have to make a selection in each attribute selection (even if it is not valid for the combination you are pricing) in order to price attributes.
Reminder, if you use a checkbox or button chip as a control type on your core product for any required attribute, it will not work. These must be set as Radio button or drop down control type.
Ensure “Override” is Selected
Select the Pricing Windows
Click Show Schedule
Click the date(s) you wish to update in the top row of the table (you can view the dates in month or week view.
Check off the attributes to price in the calendar
Click Edit Date(s)
NOTE: avoid selecting too many combinations at once as the system can only process so many simultaneously
In the pop-up window complete the following:
Price: this is the price that customers will pay based on the override window
Quantity: enter 10,000. If sales surpass this number then products will be sold for $0. (see BLUE highlighted area in screenshot below).
If you are using tiers complete the following for each tier:
$: enter the price for this tier
#: enter the quantity to be sold at this tier (see GREEN and BLACK highlighted areas in the screenshot below)
Once all fields are completed click Update
NOTE: If you are using multiple override windows and tiers, tiers always have their own individual available quantities. So if 1 day out sells through tier 1 and begins selling into tier 2, day of pricing will still start at Tier 1.
Optionally, there is also a “Month View” toggle on the calendar that can be used to see a wider set of date ranges.
NOTE: You will need to manually clear the cache in admin in order for your price changes to appear in the store to guests.
8. (Optional) Remove Pricing from Dates
Using the same steps as in step 7 above, if you wish to remove a price, when editing a set of dates, or a single date, check remove and save.
NOTE: Prive removal will not be possible if sales are already associated to a date, so you may need to contact an Aspenware Representative.
IMPORTANT: If removing prices, ensure you remove prices for Base pricing and all Override pricing for that date.