How Pricing Works
Understanding how hejGuide calculates booking prices helps you set up your rate plans correctly. This page explains the complete pricing calculation from start to finish.
Calculation Order
When a guest books a stay, hejGuide calculates the price in this exact order:
1. Determine nightly rate for each night
2. Sum all nights → base total
3. Apply booking window adjustment (± %)
4. Apply length-of-stay discount (- %)
5. Add taxes (if configured)
──────────────────────────────────
= Final booking priceStep 1: Determine Nightly Rate
For each night of the stay, hejGuide checks (in priority order):
| Priority | Source | When it applies |
|---|---|---|
| 1 (highest) | Rate event | The date matches a special event (holiday, festival) |
| 2 | Season | The date falls within a defined season period |
| 3 | First season | No season matches — uses the first season as fallback |
| 4 (lowest) | Listing default | No rate plan seasons defined — uses the listing's base nightly rate |
TIP
Rate events always override seasonal pricing. Use events for holidays like Christmas, New Year's Eve, or local festivals where you want premium pricing.
Step 2: Sum All Nights
Each night's rate is added together to get the base total.
Step 3: Booking Window Adjustment
If you have booking window rules enabled, an adjustment (positive or negative percentage) is applied based on how far in advance the guest books:
adjusted total = base total × (1 + adjustment%)For example, a +10% early-bird premium means the guest pays 10% more when booking well in advance.
Step 4: Length-of-Stay Discount
If the stay qualifies for a length discount, it's applied to the adjusted total:
final price = adjusted total × (1 - discount%)The highest applicable tier is used. For example, if you offer 10% off for 7+ nights and 15% off for 14+ nights, a 20-night stay gets 15% off (not both).
Step 5: Taxes
Taxes are added on top of the final price based on your tax set configuration.
Full Calculation Example
Setup:
- Summer season (Jun 1 - Aug 31): €200/night
- Weekend pricing (Fri/Sat): €250/night
- Booking window: 60+ days ahead = +10%
- Length discount: 7+ nights = 10% off
Booking: 7 nights, July 14-21, booked 75 days in advance
| Night | Day | Rate | Source |
|---|---|---|---|
| Jul 14 | Mon | €200 | Season |
| Jul 15 | Tue | €200 | Season |
| Jul 16 | Wed | €200 | Season |
| Jul 17 | Thu | €200 | Season |
| Jul 18 | Fri | €250 | Weekend |
| Jul 19 | Sat | €250 | Weekend |
| Jul 20 | Sun | €200 | Season |
Base total: €1,500
Booking window (+10%): €1,500 × 1.10 = €1,650
Length discount (-10%): €1,650 × 0.90 = €1,485
──────────────────────────────────────────────
Final price: €1,485WARNING
Discounts do not stack. The booking window adjustment is applied first, then the length discount is applied to that result. They are calculated sequentially, not combined.
Weekend Pricing Details
Weekend pricing works differently from discounts — it replaces the nightly rate for specific days:
- Which days: By default Friday and Saturday, but configurable per rate plan
- Type: Fixed price per night (not a percentage markup)
- Per season: Each season can have its own weekend price
When a night falls on a weekend day and a weekend price is set for that season, the weekend price completely replaces the season base price for that night.
Season Matching
When determining which season applies to a date:
- hejGuide checks each season's date ranges (month/day periods)
- The first matching season is used
- Seasons support year wrap-around (e.g., Nov 1 - Feb 28 works correctly across New Year)
- If no season matches, the first season in the list is used as a fallback
TIP
Make sure your seasons cover the entire year to avoid falling back to the default rate. A good approach: create a "Standard" season covering Jan 1 - Dec 31, then add specific seasons (Summer, Winter, Christmas) that override specific periods.
Minimum & Maximum Stay Enforcement
Stay rules can come from multiple sources. The most restrictive always wins:
| Source | Min nights | Max nights |
|---|---|---|
| Season settings | Uses the highest minimum across all nights | Uses the lowest maximum across all nights |
| Rate events | Same as season — highest minimum wins | Same — lowest maximum wins |
| Availability overrides | Per-date override for specific dates | Per-date override for specific dates |
Example: If your summer season requires a 3-night minimum and a rate event on one of the nights requires a 5-night minimum, the booking must be at least 5 nights.
Check-in/Check-out Day Restrictions
You can restrict which days of the week guests can check in or check out. This is useful for:
- Weekly rentals (Saturday-to-Saturday)
- Long weekend packages (Thursday check-in only)
Restrictions are configured per season within the rate plan.