Using price schedules with dynamic rules
Last updated: February 26, 2025
Dynamic pricing rules allow you to set price schedule rules based on “dynamic” (real-time) factors, such as the number of customers booked, the amount of space left on an availability, or the time your customer is making their booking relative to an availability’s start time.
Dynamic rules are used within price schedules. FareHarbor will work with you to ensure that any dynamic rules in your price schedules are configured exactly the way you want.
Are dynamic rules right for you?
Dynamic pricing rules are intended for use on:
- Bookings made online from your website
- Bookings made directly in your Dashboard by your staff
Note: This feature is not currently supported for Dashboards that have any affiliates or resellers.
Types of dynamic rules
Capacity-based dynamic rules
Capacity-based dynamic pricing rules allow you to automatically change pricing based on the remaining capacity of an availability. This can be useful, for example, if you want to increase your rates for a tour with limited space left, or decrease prices to entice customers to book an event that hasn’t reached the desired capacity yet.
Here are some examples of dynamic rules based on capacity:
- Increase price by 20% when there are 3 spots remaining.
- Discount the first 5 spots to be $20 cheaper than the remaining 15.
Time-based dynamic rules
Time-based dynamic rules allow you to increase or decrease pricing based on when a customer books relative to when their booked activity starts. This is a perfect way to set up early bird pricing to encourage customers to book early.
Here are some examples of dynamic rules based on time:
- Apply a 25% discount for bookings made a week ahead of time (“early-bird” pricing).
- Increase pricing by 15% when someone books 12 hours or less ahead of the availability start time.
Setting up dynamic rules
FareHarbor will work with you to configure your dynamic rules.
To set up dynamic rules, please send us the following:
- Items that will use these new rules.
- The desired rules:
- For capacity-based rules, please include capacity ranges and desired pricing effects (for example, “15% increase when there are 5 spots remaining”).
- For time-based rules, please include time ranges and desired pricing effects (for example, “20% off if a customer books a week or more in advance”).
- The price for each customer type that will be affected by these new rules (for example, “Adult – $30, Child – $15”).
- Whether or not these pricing rules should affect people booking online, direct, or both.
If you have any questions, please reach out to FareHarbor Support and we’ll be happy to help.
Important notes
- If a customer starts but does not complete a booking, and then returns later to complete it, their price won’t refresh automatically when they return to complete their booking, even if the applicable rules have changed since they began their booking.
- FareHarbor will process the booking with the originally displayed amount in order to avoid unexpected pricing changes for the customer.
- However, if the customer’s payment fails to process for any reason (for example, if the customer uses an expired credit card), they will need to refresh the page and try again, which can result in a fee or price change, depending on your configured price schedule dynamic rules.
- If you use price previews, the previewed price shown will be the price for the next availability. Read more about where price previews are displayed.
- You can use both capacity-based and time-based dynamic rules at the same time, but we recommend using simpler setups to achieve your desired pricing.
- At this time, dynamic pricing rules cannot work in conjunction with any affiliates, resellers, API connections, or Al Desk.
Internal-only content. Don't copy and paste to anyone.
Check out our internal Lessonlys on time-based dynamic pricing rules and capacity-based dynamic pricing rules.
Enabling dynamic pricing for clients
Clients without affiliates
You can turn this feature on by navigating to the company’s Advanced settings > Pricing, then checking the box for Dynamic price schedules and saving.
Clients with affiliates
To enable dynamic pricing for clients with affiliates, follow the instructions below.
Go to the client’s Dashboard > Affiliates. Check if any affiliate uses an Online or Direct price schedule.

Run a Booking Source report. Check for:
- Any online affiliate bookings
- Any affiliate bookings that use online or direct sheets and/or schedules
Use the following report settings:
- Select date range This Year-to-date.
- Report on Booking created date.
- Group by Total Sheet.

Assess the results of Steps 1 and 2 to determine next steps.
- Proceed to Step 4 if:
- The Online source type is associated with an affiliate booking
- Any affiliate booking displays an Online or Direct sheet or price schedule
- Proceed to Step 5 if no affiliate bookings display an Online or Direct sheet or price schedule.
- Proceed to Step 4 if:
Submit a ticket (Select Affiliate request) to Channel Support to move the client’s affiliates to their own sheets/schedules and regenerate ASN links, making sure to include the booking source report you have generated in your request. Once the ticket is completed, proceed to Step 5.
If any affiliate uses ASN links that use an online schedule, we will regenerate those links with the new sheets/schedules. CS will provide new ASN links to clients to send to their affiliates. Please note that it is up to the affiliates to update the links on their website.
Use the Dynamic Pricing Enablement Workflow linked in #dynamic-pricing-process-talk to get approval for Dynamic Pricing.
- Once dynamic pricing is enabled for the client, inform the client that they are responsible for letting us know if their affiliates have pricing issues moving forward.
Communication plan
Dynamic pricing is now technically available to all clients (with or without affiliates). However, we are delaying official communication for clients with affiliates until price previews have been optimized.
Currently, when dynamic pricing is applied to an item, the price on the Lightframe displays a range that does not account for specific customer types and makes it difficult for the customer to identify which availability has a lower or higher price. These behaviors mislead or diminish the customers’ booking experience.
With that said, if you have a client with affiliates that is requesting dynamic pricing and there is a risk for churn, please follow the instructions under Enabling dynamic pricing for clients.
Who is this functionality for?
- Clients that want to change pricing dynamically for bookings made online or directly.
PLEASE NOTE: You cannot enable dynamic pricing on a Dashboard if there are any affiliates.
The only exception is if the affiliates are on this approved list
Shortname Channel API (if applicable) fh-sites– 2fhsitesaud– 3fhsitescad– 4fhsiteseuro– 5fhsitesgbp– 6fhsitesmxn– 7fhsiteschf– 8fhsitesnzd– 9fhsitesdkk– 10fhsitessek– 11fhsitesnok– 12fhsiteshkd– 13fhsitessgd– 14fhsitesbgn– 15fhsitesczk– 16fhsitesron– 17fhsitespln– 18fhsiteshuf– 19fhsitesaed– expediaonlineExpedia expediaonlineaedExpedia expediaonlineaudExpedia expediaonlinebgnExpedia expediaonlinecadExpedia expediaonlinechfExpedia expediaonlineczkExpedia expediaonlinedkkExpedia expediaonlineeuroExpedia expediaonlinegbpExpedia expediaonlinehkdExpedia expediaonlinehufExpedia expediaonlinemxnExpedia expediaonlinenokExpedia expediaonlinenzdExpedia expediaonlineplnExpedia expediaonlineronExpedia expediaonlinesekExpedia expediaonlinesgdExpedia getyourguideGet Your Guide getyourguideaedGet Your Guide getyourguideaudGet Your Guide getyourguidebgnGet Your Guide getyourguidecadGet Your Guide getyourguidechfGet Your Guide getyourguideczkGet Your Guide getyourguidedkkGet Your Guide getyourguideeuroGet Your Guide getyourguidegbpGet Your Guide getyourguidehkdGet Your Guide getyourguidehufGet Your Guide getyourguidemxnGet Your Guide getyourguidenokGet Your Guide getyourguidenzdGet Your Guide getyourguideplnGet Your Guide getyourguideronGet Your Guide getyourguidesekGet Your Guide getyourguidesgdGet Your Guide google– viatorTripAdvisor Experiences/Viator viatoraedTripAdvisor Experiences/Viator viatoraudTripAdvisor Experiences/Viator viatorbgnTripAdvisor Experiences/Viator viatorcadTripAdvisor Experiences/Viator viatorchfTripAdvisor Experiences/Viator viatorczkTripAdvisor Experiences/Viator viatordkkTripAdvisor Experiences/Viator viatoreuroTripAdvisor Experiences/Viator viatorgbpTripAdvisor Experiences/Viator viatorhkdTripAdvisor Experiences/Viator viatorhufTripAdvisor Experiences/Viator viatormxnTripAdvisor Experiences/Viator viatornokTripAdvisor Experiences/Viator viatornzdTripAdvisor Experiences/Viator viatorplnTripAdvisor Experiences/Viator viatorronTripAdvisor Experiences/Viator viatorsekTripAdvisor Experiences/Viator viatorsgdTripAdvisor Experiences/Viator websitetravelaudGet Your Guide websitetravelnzdGet Your Guide wherewolfcadWherewolf wherewolfaudWherewolf wherewolfusdWherewolf wherewolfmxnWherewolf wherewolfeuroWherewolf wherewolfgbpWherewolf wherewolfnzdWherewolf
Configuring dynamic rules
Dynamic rules are configured the same as any other rules in price schedules. When dynamic rules are enabled, you will see six additional options in the price schedule rules dropdown. You can follow the same steps for price schedule rules to set up dynamic rules.
Dynamic rules can currently be set based on six parameters:
- Booking time relative to availability start (time-based)
- Booking time relative to midnight on availability date (time-based)
- Amount of capacity filled (capacity-based)
- Amount of capacity remaining (capacity-based)
- Percentage of capacity filled (capacity-based)
- Percentage of capacity remaining (capacity-based)
For the time-based rules, you will be able to enter a number in the From and Until fields to indicate how many hours before your selected rule parameter to start and end the rule.

For the capacity-based rules, you will be able to enter a number in the Minimum and Maximum fields to indicate the capacity range for that rule. For the percentage of capacity options, a minimum and maximum is required, whereas for the amount of capacity options you can enter a minimum and/or a maximum.
The other four options in price schedule rules are different from dynamic rules because they are static. Static rules are based on a fixed date/day range that determines which sheet should be used. By contrast, dynamic rules are based on the time of booking (which is variable, i.e. “dynamic”) relative to the availability. You can set static and dynamic rules in conjunction with each other.
Best practices
- Dynamic rules are configured like all other price schedule rules. Please follow all existing best practices for price schedules.
- If automatic price previews are enabled on a Dashboard that uses dynamic pricing, enable the Price previews on availabilities feature flag. (Note: The Automatic online price previews feature flag must be enabled before this suboption will appear.)
- Enable the following feature flags, plus all related suboptions. These performance-related settings should always be enabled.
- Load availabilities manifest by section
- Load the Dashboard calendar one week at a time
Notes
- Because dynamic rules are configured like all other price schedule rules, please follow all existing best practices for price schedules.
- For clients using capacity-based dynamic pricing with a cascading resource setup, the rules will apply to the last remaining capacity regardless of the resources being used. (Rules are specific to the general availability, not specific to a resource.)
- Example: You have 2 vehicle resources that cascade, each with 6 seats. Your capacity-based rule says when there is 1 seat left, increase pricing by $20. If the first vehicle has 1 seat left but the second vehicle is empty, the pricing will not increase until there is 1 seat left on the availability.