Lobby — home
Growth6 min read

How to price court time for peak and off-peak hours

A single price for every hour underprices Tuesday at 19:00 and overprices Wednesday at 14:00. Peak and off-peak pricing fixes both, as long as the split comes from the booking data and not from a guess.

Lobby · Published 8 August 2026

01

Find peak from the bookings, not from memory

Export 4 weeks of bookings and build a grid of weekday by hour, with the share of courts booked in each cell. Peak is any cell above 85 percent. Off-peak is anything under 40 percent. The band between is the shoulder, and it deserves its own price.

On most clubs the grid shows peak from 18:00 to 21:00 on weekdays and 09:00 to 12:00 at the weekend. Where a club is different, the data will say so. A club near offices may fill at 12:00 on weekdays and sit empty at 20:00, and pricing by habit would get that exactly wrong.

Build the grid per court type as well. Indoor courts in a rainy month fill at hours the outdoor courts never do, and a single grid for both hides that.

  • Peak: 85 percent or more of courts booked in that hour, most weeks
  • Shoulder: 40 to 85 percent, often the hour before and after peak
  • Off-peak: under 40 percent, usually weekday mornings and early afternoons

02

Set the gap between peak and off-peak

The off-peak price has to be low enough to move a player from 19:00 to 15:00, and that means a visible difference. A gap of 25 to 40 percent moves people. A gap of 10 percent is noticed by nobody and costs revenue on the hours that would have sold anyway.

Move the peak price up before moving the off-peak price down. If peak hours are full every week with a waitlist behind them, they are underpriced. Raise them by a step, watch occupancy for 4 weeks, and only then set off-peak below the old base.

03

Price the shoulder hours on their own

The hour before peak, usually 17:00 on a weekday, is where a split price does the most work. Players who could arrive early will, if the saving is real. Set the shoulder price halfway between peak and off-peak and watch whether 17:00 starts to fill. If it does, 16:00 becomes the new shoulder.

Weekends have their own shoulder. Saturday at 08:00 and Sunday after 17:00 sit next to full mornings, and a lower price in those hours pulls in families and beginners who would not book at the peak rate. Treat each of them as a separate cell in the grid rather than copying the weekday pattern across.

04

Decide what members pay at peak

A membership that covers unlimited peak court time turns the busiest hours into a queue of members paying nothing extra per hour. Most clubs do better with a plan that includes off-peak and shoulder hours and gives a member discount at peak, or a plan with a monthly peak allowance.

Whatever the plan says, the booking page must show the member their own price before they confirm. A member who finds out at the desk that peak is not included does not come back to the desk.

Non-member players see the standard grid. Do not hide it behind a login, because the price is the first thing a new player looks for and a login wall reads as a reason to go elsewhere.

  • Off-peak and shoulder included, peak at a member rate
  • Or a monthly allowance of peak hours, then the member rate
  • The member’s price shown on the booking screen, not only in the plan description

05

Publish the grid and review it monthly

Put the full hour-by-hour price grid on the booking page and in the confirmation email. Players accept a peak price when they can see the cheaper hour next to it. Hidden pricing feels like a surcharge, visible pricing feels like a choice.

Review the grid every month with the occupancy report next to it. An off-peak hour that now fills above 70 percent is ready to move into the shoulder band. A peak hour that dropped below 70 percent after a price rise needs the rise pulled back a step. Change 1 band at a time so you can tell what moved.

Tell players when the grid changes. A short line on the booking page 2 weeks before a peak rise, with the new grid beside it, prevents the surprise at checkout that generates most complaints about price.

Takeaways

If you read one thing

  1. 01

    Build the peak grid from 4 weeks of booking data, with 85 and 40 percent as the band lines.

  2. 02

    Raise underpriced peak hours before discounting off-peak ones.

  3. 03

    Give the shoulder hour its own price and watch whether it fills.

  4. 04

    Show every player, member or not, their own price on the booking screen.

  5. 05

    Review one band per month against the occupancy report.

Questions

The short version

How big should the off-peak discount be?

Large enough to be noticed on the booking page. Between 25 and 40 percent below peak is where most clubs see bookings move to earlier hours.

Do we need different prices per court?

Only if the courts differ, for example indoor against outdoor or a court with a viewing area. Otherwise price by hour and keep the grid simple.

How does Lobby handle peak pricing?

Lobby lets the club set a price per court and per hour band, shows each player their own price before they confirm, and puts occupancy by hour in the reports so the grid can be reviewed.

Ready when you are

Try it on your own schedule.

A free preview workspace with your courts, prices, and rules. No card, nothing published until you say so.

Book a demo