Pricing Studio
The Pricing Studio is a full-screen editor for everything about what you charge: seasons, daily and hourly rates, discounts, packages, and the holidays where normal pricing does not apply.
It replaces working through pricing one dialog at a time. You see a whole year on a timeline, click a season to edit it, and save everything at once.
The Studio carries a BETA badge. It is fully functional and safe to use on live pricing. The older pricing dialogs on the Inventory page still work and edit the same data, so you can move between them freely.
Getting there
- Fleet > Inventory, then the pricing action on an item
- From the pricing schedule dialog on any item
- Directly at
/pricing-studio?item=<inventoryId>, which is bookmarkable
Arriving without an item selected, the Studio picks one for you: the first item with a gap in its pricing coverage, or your first item if everything is covered. The item switcher at the top left shows every item with a coverage strip and a status dot, so you can see at a glance which ones need attention.
The layout
| Area | What it is |
|---|---|
| Top bar | Item switcher, issue count, unsaved-edit count, undo and redo, Save |
| Season timeline | One year across the screen, each season a coloured pill. Drag a pill's edge to change its dates |
| Main canvas | The season editor when a season is selected, otherwise a card grid of every season |
| Assistant panel | The AI assistant, docked on the right. Collapsible |
Press Escape to close the season editor and return to the overview grid.
Setting up an item for the first time
An item with no pricing shows "Let's set up pricing for {item}" and four ways forward:
| Option | What it does |
|---|---|
| Set up with your assistant | Describe your business in plain language. The assistant asks about your busy season and how you charge, then proposes a full set of seasons |
| Use a template | Start from a standard seasonal shape and adjust |
| Copy from another item | Duplicate the pricing of an item you have already configured |
| Start from scratch | Build a season by hand |
Copying from another item is usually fastest once you have one item right. Most fleets price similar assets similarly.
Seasons
A season is a date range with its own rates. Bookings falling inside it are priced by it.
When
| Field | Notes |
|---|---|
| Name | Seasons are identified by name, so each must be unique on the item |
| Start and end date | Inclusive on both ends |
| Repeats every year | The season uses only the month and day, so you never roll dates forward each year |
| Type | Regular or event |
| Tour only | Hides the season from the public grid. It still prices tours that use this equipment |
A summer season set as a fixed 2026 date range stops covering anything on 1 January 2027, and the first sign is usually a customer who cannot book. A recurring season never expires.
Recurring seasons may also wrap the year end, so a November to March winter season is valid and is understood correctly when checking for overlaps.
Rates
Turn on day pricing, hourly pricing, or both.
Daily sets a rate for each day of the week independently, so Saturday can differ from Tuesday, plus the shortest and longest rental you will accept and any longer-rental discounts.
Hourly sets a base hourly rate per day of the week, plus minimum and maximum hours, multi-hour discounts, time-of-day discounts and overtime increments.
If your fleet has asset types, for example boats and kayaks on one listing, you can override rates per type. An override replaces the whole weekly rate map for that type rather than merging into it, and the Studio seeds it from the base season so a single edit does not zero the other six days.
Rules
| Rule | Reads as |
|---|---|
| Longer-rental discounts | 3+ days → 10% off |
| Early-bird pricing | Book within 14 days → 10% off, or a surcharge, and can apply inside or outside the window |
| Multi-hour discounts | 3+ hours → $45/hr |
| Time-of-day discounts | 08:00–11:00 → 15% off |
| Multi-unit discounts | Rent more than one unit together for a discount |
Weather rules appear under Advanced and are shown read-only here. Configure them from Weather.
Packages
A package is a fixed-length, fixed-price product: a 90-minute sunset cruise at $89, bookable at set start times. Each has a duration, the start times it is offered at, and a flat price. A package can be marked staff-only so it never appears publicly.
Special dates
Overrides for specific dates, which is where holidays, regattas and long weekends live.
A special date can close the day entirely, require staff approval for bookings, apply a percentage markup, set a flat price, or override package pricing just for that date. Mark it as repeating annually for a fixed holiday.
A special date beats everything else for that date.
How the pieces combine
When several things could apply at once:
- Special dates override everything for the date they cover.
- Asset-type overrides replace the base weekly rates for that type.
- Day-of-week rates take priority over any uniform rate.
- Within hourly pricing, the longest matching rule wins: multi-hour discounts, then packages, then the base rate.
- Time-of-day discounts apply on top of whatever rate was resolved.
The assistant
The panel on the right takes plain-language requests and answers with a proposal you review before anything changes.
Things it handles well:
- "Raise the summer weekend rates by 15%."
- "What do we charge on July weekends?"
- "Check my pricing for gaps, overlaps, $0 rates, or anything that looks like a mistake."
- "Set up one year-round season that repeats every year."
Press ⌘K (or Ctrl+K) to jump to the composer.
It proposes. A proposal appears as a card, and the banner reads "Previewing proposal: {title}" with Apply and Dismiss.
Apply writes the change into your local draft only, as a single undoable step labelled with the proposal title. Nothing reaches the server until you press Save. You can undo a whole applied proposal in one action.
If you edit the draft after a proposal arrives, that proposal goes stale rather than applying against numbers it was not based on. Ask again for fresh figures.
Editing, undo and saving
Every change is a draft until you save.
| Action | Shortcut |
|---|---|
| Save | ⌘S / Ctrl+S |
| Undo | ⌘Z / Ctrl+Z |
| Redo | ⌘⇧Z / Ctrl+⇧Z |
| Focus the assistant | ⌘K / Ctrl+K |
| Close the season editor | Escape |
The top bar shows "● Unsaved · N edits". Click it for the full edit log, where any entry offers "Undo to here" to rewind several steps at once. Consecutive edits to the same field are grouped, so typing a rate is one undo step rather than one per keystroke.
Undo history is per item. Switching items keeps each item's history separate.
Leaving with unsaved work
Navigating away prompts "Leave without saving?", offering Save & leave or Leave without saving.
If you leave anyway, the draft is stashed. Returning to that item shows "You have unsaved edits to this item from an earlier visit." with Restore and Discard.
If someone else edited at the same time
Before saving, the Studio checks whether the item changed elsewhere since you loaded it. If it did, you get "Pricing changed somewhere else" and must choose to overwrite with your version or cancel and reload. This catches the second tab and the second staff member.
Problems it will stop you on
The issue count in the top bar is clickable and cycles through each problem. These block saving:
- A season with no name, or a name already used on this item
- A missing or malformed date
- An end date before the start date, unless the season repeats annually and legitimately wraps the year
- Two seasons covering the same dates. Overlap is checked correctly for recurring seasons, including ones that wrap the year end
- A minimum rental longer than the maximum
- Day or hourly pricing switched on with no rate set, which would otherwise publish a $0 price
Coverage gaps
If a date inside the next 30 days has no season covering it, a banner reads "No pricing covers {start} – {end} — customers can't book those dates." with a Fill the gap button.
Nothing errors. The item simply cannot be booked on those dates, and you find out when somebody tells you they tried. The coverage strip in the item switcher exists so you can spot this across your whole fleet before a customer does.
What happens to existing bookings
Nothing. A booking keeps the price it was taken at.
Changing a season's rates or dates affects new bookings only. Deleting a season does not touch bookings already taken on those dates; they keep their locked-in rate.
The one thing that is genuinely permanent: deleting a season can be undone while it is still a draft, but not after saving. The confirmation says so.

