The price chart
The price chart defines how much a rental costs based on its length. Each row covers a band of rental lengths, and the chart as a whole must cover every length you want to sell.
Each row contains six fields:
- From (days) — the first number of days this rate applies to.
- To (days) — the last number of days this rate applies to. Leave this empty on the final row to cover any longer rental (see below).
- Label — a name for the tier shown to the shopper, such as "Daily" or "Weekly rate".
- Price — the amount charged for this tier.
- Discounted price — an optional reduced price; when set, both figures appear so the shopper can see the saving.
- Visible — whether this row appears on the product page and is matched against a shopper's selection.
The chart must follow three rules. The tab refuses to save a chart that breaks any of them:
- Ranges must not overlap. If two rows both claim the same number of days, there is no single answer for a rental of that length, and the chart is rejected.
- Ranges must not leave a gap. A chart running 1 to 3 and then 5 to 7 cannot price a 4-day rental. A shopper choosing four days would be told their dates cannot be priced, so every length you intend to sell must be covered.
- Leave "To" empty on the last row to price every longer rental. An open-ended final row matches any rental longer than the preceding tiers. Without it, the longest rental you can sell is the largest To value in the chart — a shopper requesting anything longer would be turned away.
Unticking Visible on a row retires that rate: it is neither shown to the shopper nor matched against any selection. The row stays in place so you can reinstate it later, which is preferable to deleting it and re-entering the values.
Nothing invalid is ever stored. If the chart has a problem when you save the product, the product is saved without the rental configuration. The tab returns showing exactly what you typed, with the failing fields marked and a summary at the top stating plainly that the rental configuration was not saved. Any code reading a stored chart can therefore assume it is valid.