
How Surf Camps Handle Seasonal Pricing
Peak surf season, holidays, and weekend demand make camp pricing fluctuate. A practical guide to seasonal pricing without spreadsheet chaos.
One question that causes more admin pain than it should: "What is the price for July?"
If answering that requires checking a spreadsheet, asking the owner, or saying "it depends" — your pricing does not have a system yet. And the international guest asking that question has probably opened a competitor tab while waiting for a reply.
Surf camp pricing is rarely flat year-round, and it should not be. Bali dry season, international holiday periods, weekends versus weekdays, a 3-day package versus a 7-day package — these all have different demand patterns. Seasonal pricing is not about extracting maximum money from guests; it is about pricing that reflects your actual operational costs and the value guests receive at different times of year.
Why surf camps need proper seasonal pricing
Peak surf season: better waves justify a premium
Bali dry season, roughly April through October, tends to bring more consistent swell and better wind conditions. Guests who travel during this period are specifically chasing better surf. Camp occupancy rises — high demand, limited supply. Flat pricing in high season means leaving revenue on the table.
Holiday periods: predictable spikes that must be planned ahead
Christmas, New Year, Australian school holidays in June and July, and other major international holidays all produce predictable booking surges. International guests book these periods months in advance. If your high-season pricing is not in place when they start researching, bookings will come in at the wrong rate — and you cannot retroactively change a confirmed price.
Seasonal rules need to be live in your system before that period's bookings start arriving, not updated manually one by one once it is already late.
Weekend premium: smoothing uneven occupancy
Camps near popular breaks often see a consistent pattern: full Friday through Sunday, quiet Monday through Thursday. A weekend premium rate can nudge flexible guests toward weekdays and charge appropriately for guests who specifically need the weekend.
Package duration economics: different packages, different margins
A 5-day full board package has different food costs, laundry load, and instructor hours than a 3-day surf-only package. If per-day pricing is identical across all durations, one of those packages will have a very thin margin. Pricing per package should reflect the actual cost structure, not a round number that looks fair at a glance.
High season vs low season: how to define it for your camp
There is no universal template, but this process works for most camps:
Step 1: Review 12 months of occupancy data Which months were consistently above 80% occupancy? That is your high season. Which months were below 50%? That is low season. In between is shoulder season — it can have its own rate or follow either end.
Step 2: Define clear date ranges Example for a Bali surf camp:
- High season: 15 June – 15 August + 20 December – 5 January
- Shoulder: April – 14 June + 16 August – October
- Low season: November – 19 December + 6 January – March
Step 3: Set price per package per season Not a single multiplier applied to everything. A full board private room package has a different margin profile than a shared dorm package — increase prices in proportion to the different value delivered.
Step 4: Publish before the season begins International guests book 2–6 months ahead. If high-season prices are not live when they start researching, they book at the wrong rate. You cannot change a confirmed price after the fact.
Example pricing structure
| Package | Low season | High season | Delta |
|---|---|---|---|
| 3-Day Mix Dorm | IDR 4,500,000 | IDR 5,400,000 | +20% |
| 5-Day Full Board Dorm | IDR 8,000,000 | IDR 9,600,000 | +20% |
| 7-Day Full Board Private | IDR 14,000,000 | IDR 17,500,000 | +25% |
These are example numbers, not recommendations. The principle: one package, one price per season, visible to the guest before they complete the booking form.
Guests should not have to ask. The price should be visible when they select their dates.
Early-bird and last-minute: two additional levers
Beyond seasonal rules, two pricing tools are particularly effective for surf camps:
Early-bird discount Guests who book 60 or more days before check-in receive a 10–15% discount. The benefit for the camp: earlier cash flow, more predictable occupancy months out, better ability to plan staffing and provisions with confidence.
Early-bird pricing needs a clear deadline — "book before 1 April for June early-bird pricing" — and should be applied automatically by the system, not manually per booking.
Last-minute rate An empty bed three days before check-in is better filled at a lower price than left empty. Partial revenue beats zero revenue. The important caveat: last-minute discounts should not become an expectation guests plan around. If guests know the camp always discounts at the last minute, early bookings will slow down.
How to communicate pricing to guests
The principle is simple: price must be visible before the conversation starts.
- The booking page shows prices that update automatically when a guest selects dates that fall in different seasons
- An FAQ section on the camp page explains high and low season date ranges
- No "contact us for pricing" except for custom whole-camp buyouts that genuinely require negotiation
- The confirmation email restates the price the guest agreed to at booking — no surprises at checkout
Hidden pricing or "it depends" answers create friction. Guests will move to a competitor who publishes clear prices before asking any questions.
Common seasonal pricing mistakes to avoid
Forgetting to update before the season starts July high season begins but the system still shows low-season prices. All bookings arriving in early July are charged the wrong rate — and cannot be retroactively corrected.
Manual discounts in chat without a record An admin offers a discount in WhatsApp for a specific guest, but it is not recorded in the booking system. Revenue leaks without a trace.
Creating duplicate packages per season "5-Day Package June," "5-Day Package July," "5-Day Package August" — this is a management nightmare. One package with seasonal pricing rules is far cleaner.
No price snapshot on the booking record If a guest books at a specific price and you update seasonal rules afterward, a dispute can arise at checkout. The booking record must store a price snapshot at the time of booking, regardless of future rule changes.
How Arion handles seasonal pricing
Arion supports seasonal pricing per package:
- Set high-season and low-season date ranges using MM-DD format, recurring annually
- Each package has its own price per season — not a single multiplier applied to everything
- Prices apply automatically when guests select dates in the booking form
- Booking records store a price snapshot at the time of booking, even if rules change later
- Cross-year date ranges work natively — a December–February high season does not need to be split into two separate rules
Related reading
- Manage surf camp availability without double-booking
- Deposit management for surf camp bookings
- Surf camp booking form: required guest fields
- Surf camp industry page
Next steps
Open your calendar right now. Mark your high and low seasons for the next 12 months. Set prices per package per season. Publish before guests start researching — not after they have already asked in chat.




