<!-- https://unlockos.io/manual/plan-form -->

# Price Plan Settings Help

## Overview

Price Plan Settings allows you to define usage fees for your facility. Choose from 6 different plan types based on your needs and configure detailed pricing settings.

![Price Plan Settings screen](https://unlockos.io/help/images/plan-form/main.en.webp)

## Key Features

- Choose from 6 different plan types
- Day-specific and time-specific pricing
- AI dynamic pricing (Hourly plan only)
- Tax rate and currency settings

---

## Input Fields

### Basic Information

| Field | Description | Required |
|-------|-------------|----------|
| Plan Name | Display name for the plan (e.g., "Weekday Plan", "Weekend Plan") | Yes |

### Plan Type Selection

Select the billing method for the plan. Cannot be changed once saved.

| Plan Type | Description | Use Cases |
|-----------|-------------|-----------|
| Hourly Billing Plan | Charges per minute based on usage time | Coworking, Sauna, Gym |
| Daily Flat Rate Plan | Fixed daily rate | Day-trip facilities, Accommodation |
| Fixed Time + Overtime Plan | Fixed fee up to a certain time, additional charges for overtime | Meeting rooms, Rental spaces |
| Accommodation Plan | Room rates based on check-in/out times | Hotels, Guest houses |
| Time Slot Booking Plan | Fixed rate for specified time slots | Event venues, Studios |
| One-Time Plan | Fixed fee for a single entry | Events, Penalty charges |

---

## How Day-of-Week and Holiday Rates Are Chosen

To charge different rates on different days, enter rates in the plan's day-type tabs (or day checkboxes). **Which tab applies is determined automatically, per date of use.**

### Priority order

When a single date belongs to more than one day type (for example, a Saturday that is also a public holiday), the **higher entry in this list wins**.

| Priority | Day type | Matches when |
|----------|----------|--------------|
| 1 (highest) | Holiday | The date is a public holiday in the facility's country |
| 2 | Day Before Holiday | The **next** day is a public holiday |
| 3 | Friday | The date is a Friday |
| 4 | Saturday | The date is a Saturday |
| 5 | Sunday | The date is a Sunday |
| 6 | Weekend | The date is a Saturday or Sunday |
| 7 | Weekday | The date is Monday–Friday |

Examples:

- **A Saturday that is a public holiday** → the **Holiday** rate applies, not the Saturday rate
- **A Sunday whose following Monday is a public holiday** → the **Day Before Holiday** rate applies, not the Sunday rate
- **A Friday that is a day before a holiday** → the **Day Before Holiday** rate applies, not the Friday rate

### Holidays are detected automatically

Holiday detection uses the public holiday calendar UnlockOS maintains. You do not need to register a holiday calendar yourself, or mark individual reservations as falling on a holiday.

> **Important:** Holiday detection reads the **facility's "Country" setting**. If a facility has no country configured, holidays are not detected and a holiday is treated as its ordinary day of the week (Friday / Saturday / Sunday / Weekday). Set the facility country in Facility Management before relying on Holiday or Day Before Holiday rates.

### Which clock decides the day of week?

Day of week and holidays are resolved from the civil date **in the facility's timezone**. For a facility in Japan, a reservation starting between 00:00 and 09:00 JST is still classified under that day's correct day of week.

### Day types available per plan type

The day types you can configure differ by plan type.

| Plan type | Available day types |
|-----------|---------------------|
| Accommodation Plan | Weekday / Friday / Saturday / Sunday / Holiday / Day Before Holiday |
| Hourly Billing Plan | Basic rate / Weekend-Holiday rate (plus Weekday / Weekend / Holiday checkboxes per rate tier) |
| Daily Flat Rate Plan | Weekday / Weekend / Holiday |
| Fixed Time + Overtime Plan | Weekday / Weekend / Holiday |
| One-Time Plan | Weekday / Weekend / Holiday |
| Time Slot Booking Plan | Weekday / Weekend / Holiday (**the Holiday tab applies only when at least one slot on it is enabled**; if none is, the Weekday/Weekend tab is used as before — see [details](timeslot-booking-admin.md)) |

> If your facility has defined Special Dates & Seasons on the Settings → "Special Dates" tab, **one tab per class** (a per-minute rate row on the Hourly Billing Plan) appears in addition to the day types above. See the next section.

---

## Special Date and Season Rates

When your facility has created date classes (High Season, Obon, …) under Special Dates & Seasons on the Settings → "Special Dates" tab, this plan editor gains **an input per class**.

| Plan type | How to enter the per-class rate |
|-----------|--------------------------------|
| Accommodation / Daily Flat Rate / Fixed Time + Overtime / One-Time / Time Slot Booking Plan | A class tab is added to the right of the day-type tabs |
| Hourly Billing Plan | A **per-minute rate row per class** is added under "Special date / season rates" (no tab) |

### Priority order (including special dates and seasons)

A special date or season sits **above Holiday**.

```
Special date/season (highest priority first) > Holiday > Day Before Holiday > Friday > Saturday > Sunday > Weekend > Weekday
```

Example: a Saturday inside a High Season period is priced with the **High Season** rate, not the Saturday rate.

### Leave it empty and nothing changes

A plan that leaves a class's rate empty **does not use that class**. Those dates keep being priced by their day of week or holiday rate. Existing plans behave exactly as before unless you enter something.

### What this cannot do

- **Hourly rate tiers cannot vary by class.** Only the basic per-minute rate can be overridden per class. To vary time-band rates during a season, split the plan (for example Regular Plan / High Season Plan) and **switch which plan is published by hand**. **There is no automatic date-based plan switching.**
- **Ancillary charges cannot vary by class.** Late check-out (extension) fee, early check-in fee, night pack and the daily maximum charge are single values for the whole plan.

See [Special Dates & Seasons](date-classes.md) for the full setup steps, limitations and the effect on existing reservations.

---

## Plan Type Detailed Settings

### Hourly Billing Plan

#### Basic Rates

| Field | Description | Required |
|-------|-------------|----------|
| Basic Rate (per minute) | Rate per minute on weekdays | Yes |
| Weekend/Holiday Rate (per minute) | Rate per minute on weekends/holidays | No |

> Holidays are detected automatically from the facility's country and are billed **at the weekend rate** (see [How Day-of-Week and Holiday Rates Are Chosen](#how-day-of-week-and-holiday-rates-are-chosen)). The day of week comes from the civil date in the facility's timezone, so a booking starting between 00:00 and 09:00 JST is billed under the correct day.

#### Minimum Booking Duration

| Field | Description | Required |
|-------|-------------|----------|
| Minimum Booking Duration | Shortest booking allowed per reservation (choose from 15/30/60/90/120 min). Also controls the booking grid's time granularity. | No |

> **Maximum booking duration is configured on the Reservation Config**, not on the plan form. Because check-in does not cap actual stay length, placing this control on plans would mislead operators into thinking it limits real usage. It is a booking-time constraint only and is therefore co-located with the other booking-window settings (`reservation_configs.max_booking_duration_minutes`).

#### AI Dynamic Pricing

When enabled, AI predicts demand and automatically sets optimal prices.

| Field | Description |
|-------|-------------|
| AI Dynamic Pricing | Toggle ON/OFF |

#### Time-Specific Rate Settings (Rate Tiers)

Set different rates for different time periods.

| Field | Description |
|-------|-------------|
| Start Time | Start time for the rate tier |
| End Time | End time for the rate tier |
| Rate (per minute) | Rate per minute for this time period |
| Weekday | Whether to apply on weekdays |
| Weekend | Whether to apply on weekends |
| Holiday | Whether to apply on holidays |

> The "Holiday" checkbox is driven by automatic holiday detection based on the facility's country. On a public holiday, tiers marked Holiday apply instead of tiers marked Weekday.

#### Night Pack

Set fixed rates for late-night hours.

| Field | Description |
|-------|-------------|
| Start Time (hour) | Night pack start time (e.g., 22) |
| End Time (hour) | Night pack end time (e.g., 6) |
| Night Pack Fee | Fixed fee for night pack |
| Rate during Night Pack (per minute) | Per-minute charge during night pack (optional) |

> **Your prices may change.** Until now, a configured night pack was never applied by the billing calculation — the simulation panel did reflect it, so the simulated total and the actual charge disagreed. The night pack is now actually applied. **Plans that already have a night pack configured will bill differently for late-night hours.** Re-check the start/end hours, pack fee and per-minute rate in the simulation panel.

#### Maximum Daily Fee

| Field | Description |
|-------|-------------|
| Maximum Daily Fee | Maximum amount per day. No limit if not set |

---

### Daily Flat Rate Plan

Configurable per day type (Weekday/Weekend/Holiday tabs). Holidays are detected automatically from the facility's country and billed with the Holiday tab's rate. The day of week comes from the civil date in the facility's timezone.

| Field | Description | Required |
|-------|-------------|----------|
| Enable this setting | Whether to apply plan for this day type | - |
| Daily Fee | Fixed rate per day | Yes |
| Date Reset Time | Time when the date resets | No |

---

### Fixed Time + Overtime Plan

Configurable per day type (Weekday/Weekend/Holiday tabs). Holidays are detected automatically from the facility's country and billed with the Holiday tab's rate. The day of week comes from the civil date in the facility's timezone.

| Field | Description | Required |
|-------|-------------|----------|
| Enable this setting | Whether to apply plan for this day type | - |
| Flat Fee | Fee within fixed time | Yes |
| Flat Duration (minutes) | Time period for flat fee | Yes |
| Overtime Unit (minutes) | Unit time for overtime charges | Yes |
| Rate per Overtime Unit | Fee per overtime unit | Yes |
| Maximum Daily Fee | Daily cap (optional) | No |

---

### Accommodation Plan

Detailed settings per day type (Weekday/Friday/Saturday/Sunday/Holiday/Day Before Holiday tabs). The tab that applies is decided **night by night**, following the priority order in [How Day-of-Week and Holiday Rates Are Chosen](#how-day-of-week-and-holiday-rates-are-chosen).

#### Accommodation Rates

| Field | Description | Required |
|-------|-------------|----------|
| Enable this setting | Whether to apply plan for this day type | - |
| Fee per Night | Basic nightly rate | Yes |

#### About day-specific nightly rates (important)

> **Your prices may change.** Until now, day-specific nightly rates were **not** applied to reservations made through the booking site — a stay was billed as **weekday rate × number of nights** (a 3-night stay including a Saturday was billed at 3 × the weekday rate). Day-specific rates are now actually applied. **Plans that already have Friday / Saturday / Sunday / Holiday rates configured will see higher (or lower) charges through the booking site.** Verify with the simulation panel before publishing.

Current behaviour of accommodation pricing:

- **Each night is classified separately.** If only the 2nd of 3 nights falls on a holiday, only that one night is billed at the holiday rate; the other two use their own day types. A stay never becomes "all holiday" because one night is.
- **The Day Before Holiday rate works.** A date whose following day is a public holiday is billed at the Day Before Holiday rate (priority: immediately after Holiday).
- **The booking confirmation total matches the charge.** The total a guest sees at booking is produced by the same calculation as the actual charge.

> **Caution: a disabled day type bills ¥0.** If "Enable this setting" is OFF for a day type, nights of that day type **do not fall back to the weekday rate — they are billed as 0**. Even if "Saturday should cost the same as a weekday", enable the Saturday tab and enter the same amount. The same applies to Holiday and Day Before Holiday: enable them with your normal rate to avoid unexpected zero-price nights.

#### Check-in/Check-out Times

| Field | Description | Required |
|-------|-------------|----------|
| Check-in | Standard check-in time | Yes |
| Check-out | Standard check-out time | Yes |

#### Additional Fees

| Field | Description |
|-------|-------------|
| Early Check-in Fee (per hour) | Additional fee for early check-in |
| Late Check-out Fee (per hour) | Additional fee for late check-out |
| Early Check-out Discount | Refund for checkout 2+ hours early |

#### Cancellation Policy

Set cancellation fees by days before arrival.

| Field | Description |
|-------|-------------|
| Days Before | Number of days for policy to apply |
| Cancellation Rate | Cancellation fee percentage (%) |

---

### Time Slot Booking Plan

Configurable per day type (Weekday/Weekend/Holiday tabs).

> **The Holiday tab applies only when at least one of its slots is enabled** (#2471). While every slot on it is disabled, a public holiday is treated as its ordinary day of the week — the Weekend tab on a Saturday/Sunday, the Weekday tab otherwise. The shipped template leaves every Holiday slot disabled, so facilities that never touched it see no change. To offer different slots or rates on public holidays, enable the slots on the Holiday tab. See [Time Slot Booking Plan Configuration](timeslot-booking-admin.md) for details.

| Field | Description | Required |
|-------|-------------|----------|
| Enabled | Enable time slot booking for this day type | - |
| Start Time | Start time of the time slot | Yes |
| End Time | End time of the time slot | Yes |
| Fee | Fixed fee for this time slot | Yes |

Multiple time slots can be added ("Add Time Slot" button).

---

### One-Time Plan

Configurable per day type (Weekday/Weekend/Holiday tabs).

| Field | Description | Required |
|-------|-------------|----------|
| Enable this day type | Whether to apply plan for this day type | - |
| One-time Entry Fee | Fixed amount for a single entry | Yes |

> **About the initial charge shown at check-in (deposit / entry fee).** The day type behind the amount quoted and charged at on-site check-in used to be resolved from **server time (UTC)** and never considered holidays. As a result, check-ins during Japanese late night / early morning (roughly 00:00–09:00 JST) were classified under the previous day (a 02:00 Saturday check-in was treated as Friday, i.e. a weekday), and the Holiday tab was never applied. It is now resolved from **the civil date in the facility's timezone plus automatic holiday detection**. **Facilities with frequent late-night entries, or with a Holiday tab configured, will see different charges.**
>
> Note that if the matching day type is disabled or its fee is 0 or less, the **Weekday** rate is used as a fallback (this differs from the Accommodation plan).

---

## Form for This Plan

You can attach a guest information form to a plan. When a form is attached, **guests who book this plan fill it in at booking time** — during the step just before they receive their key.

### Where to find the setting

The "Form" section is at the bottom of the plan editor. The dropdown lists any reservation-scope forms you have created on the Forms page.

### When the form appears

| Check-in path | When the form appears |
|---------------|-----------------------|
| Booking / Go app self-check-in | **At booking** (just before key delivery) |
| Host check-in URL / kiosk | At check-in (via the default check-in configuration form — set separately) |

When a form is attached to this plan, guests see it during the Booking flow when they complete their reservation. Because the form is answered at booking, it is **not shown again at check-in for that same reservation**.

> **Note:** The form shown at your check-in URL or kiosk is controlled separately under **Reservation Management → Check-in tab → default configuration**. Plan-level forms and check-in-URL forms are independent settings.

### Attaching a form

1. Create a reservation-scope form on the **Forms** page first
2. Open this plan editor
3. Select the form from the "Form" dropdown at the bottom of the page
4. Click **Save Plan**

### Removing a form

Select "None" from the dropdown and click **Save Plan**. After removal, no form is shown during the Booking flow for this plan.

---

## Reservation Approval

The "Reservation Approval" section of the plan editor puts bookings on this plan behind **owner approval**.

When it is on, a guest's booking first becomes "pending approval" and is not confirmed until the owner approves it.

| Item | Detail |
|---|---|
| Checkbox | Require approval for every booking |
| Scope | **Bookings only (online / front desk).** Walk-in check-ins are unaffected |
| Approving only the first time | Not possible with this toggle — use a membership plan (apply-first screening) instead |

### This is a separate axis from member-tier visibility

"Reservation Approval" is **independent** of the member-tier visibility settings above. A member-only plan can also require approval.

### Where pending bookings are handled

Approve / reject is available in two places.

- **The Responses tab of the Forms screen** — review the submitted answers alongside the request. See [Reservation Approvals](reservation-approvals.md)
- **The reservation detail panel** — act directly on the reservation. Reservations with **no form response** (for example a plan with no form attached) never appear in the Responses tab, so this is the only place they can be handled. See [Reservation Creation and Editing](reservation.md)

---

## Buttons

| Button | Description |
|--------|-------------|
| Cancel | Discard changes and return to list |
| Save Plan | Save the entered settings |

---

## Simulation Feature

Use the simulation panel on the right side of the screen to see real-time pricing calculations based on your settings.

| Field | Description |
|-------|-------------|
| Check-in Time | Start time for simulation |
| Check-out Time | End time for simulation |
| Usage Day/Holiday | Simulate as weekday, weekend, or holiday |
| Total Amount | Calculated total amount |
| Fee Breakdown | Details of base fee, overtime, tax, etc. |

> The simulation also detects automatically whether the date you enter is a public holiday, using the facility's country (facilities with no country configured never resolve a date as a holiday).

---

## FAQ

### Q: Can I change the plan type later?
A: No, once saved, the plan type cannot be changed. Please create a new plan instead.

### Q: I set rate tiers for hourly billing but they're not being applied
A: Check that the "Weekday", "Weekend", and "Holiday" checkboxes are correctly set for your rate tiers. Holidays are detected automatically, so on a public holiday only tiers marked "Holiday" apply — a tier marked only "Weekday" will not apply on a holiday.

### Q: What happens if night pack overlaps with rate tiers?
A: An error will be displayed. Please ensure time periods do not overlap.

### Q: Which rate applies when a Saturday is also a public holiday?
A: The **Holiday** rate. The priority order is Holiday > Day Before Holiday > Friday > Saturday > Sunday > Weekend > Weekday. See [How Day-of-Week and Holiday Rates Are Chosen](#how-day-of-week-and-holiday-rates-are-chosen).

### Q: I configured Holiday / Day Before Holiday rates but they are not applied
A: Check the following.

1. **Is the facility's "Country" set?** Facilities with no country configured never detect holidays
2. Is "Enable this setting" ON for that day type?
3. Does the date match a higher-priority day type instead? (For example, a date that is itself a holiday uses Holiday even if the next day is also a holiday)
4. For Time Slot Booking plans, the Holiday tab is skipped unless at least one of its slots is enabled

### Q: In an accommodation plan, some days are billed as 0
A: "Enable this setting" is probably OFF for that day type. In accommodation plans, nights of a disabled day type do **not** fall back to the weekday rate — they are billed as **0**. Enable every day type you might hit and enter your normal rate.

### Q: What happens when only one night of a multi-night stay is a holiday?
A: **Only that night** is billed at the holiday rate. The other nights use their own day types. A stay never becomes "all holiday".

### Q: Does the total shown on the booking confirmation match the actual charge?
A: Yes. The total a guest sees at booking is produced by the same calculation as the charge, including day-specific rates, holidays, and per-night classification.

### Q: The day of week is off for bookings starting late at night (00:00–09:00)
A: It is no longer off — the day is resolved from the civil date in the facility's timezone. Previously it came from server time (UTC), so bookings starting between 00:00 and 09:00 JST were classified under the previous day. If the day still looks wrong, check the facility's timezone setting.

### Q: Can I charge a different rate during a specific period, such as high season?
A: Yes. Create a date class under Special Dates & Seasons on the Settings → "Special Dates" tab, and this plan editor gains a tab for it (a per-minute rate row on the Hourly Billing Plan). Special dates and seasons take priority over holidays, weekends and days of the week. See [Special Dates & Seasons](date-classes.md).

### Q: Can I use different time-band rates (morning, evening) during a season?
A: Not on the Hourly Billing Plan. Only the basic per-minute rate can be overridden per class. Split the plan into "Regular" and "High Season" versions and switch which one is published by hand — **there is no automatic date-based switching**.

### Q: How is tax calculated?
A: Tax is calculated based on the tax rate and calculation type (exclusive/inclusive/non-taxable) set in Basic Settings.

### Q: Where do I configure the maximum booking duration?
A: Not in the plan form — it lives on the **Reservation Config** (`reservation_configs.max_booking_duration_minutes`). Because check-in does not cap actual stay length, placing it on plans would mislead operators. The cap is booking-only, so it's grouped with the other booking-window settings. See [Reservation Config help](booking.md) for the setting and its UX behaviour.

---

## Related Pages

- [Plan List](plan-list.md)
- [Check-in Configuration (form timing and path-specific settings)](checkin-config-form.md)
- [Form Management (creating and editing forms)](forms.md)
- [Reservation Approvals (reviewing, approving, and rejecting pending reservations)](reservation-approvals.md)
- [Basic Settings (timezone, business hours, holiday settings)](base-settings.md)
- [Special Dates & Seasons (per-class rates for high season and similar)](date-classes.md)
- [Sales Blocks (stop selling a plan for specific dates)](sales-blocks.md)
- [Time Slot Booking Plan Configuration](timeslot-booking-admin.md)
- [Hourly Week Grid Configuration (per-day business hours)](hourly-week-grid-admin.md)

---

Last updated: 2026-08-21 - Updated Special Dates & Seasons references to point at the new "Special Dates" tab and added a cross-link to Sales Blocks (sales-blocks.md) (#2802 #2813). 2026-08-14: Documented special date and season rates (per-class tabs, priority order, hourly-plan limitation) (#2471)
