<!-- https://unlockos.io/ja/manual/date-classes -->

# 特定日・シーズン ヘルプ

## 概要

特定日・シーズンでは、ハイシーズン・お盆・大晦日など、**施設独自の日付区分**を定義できます。ここで作成した区分は各料金プランにタブ（時間課金プランでは料金の行）として現れ、その期間だけ別の料金を設定できます。祝日・週末・曜日よりも優先して適用されます。

シーズンの料金は**一律の1つの金額にすることも、シーズンの中でさらに曜日ごとに分けることもできます**。「ハイシーズンは一律25,000円」も「ハイシーズンの土曜だけ30,000円、他の日は通常どおり」も設定できます（後述の「シーズンの中で曜日ごとに料金を分ける」を参照）。

![特定日・シーズンセクション](https://unlockos.io/help/images/date-classes/section.ja.webp)

## 主な機能

- 施設独自の日付区分（ハイシーズン・繁忙日など）の作成
- 区分ごとの期間設定（毎年繰り返し・除外日つき）
- 今後3か月のカレンダープレビュー
- 料金プランごとの区分別料金（宿泊・日額固定・固定時間＋超過・ワンタイム・時間枠予約はタブ、時間課金プランは分単価の行）
- **シーズンの中の曜日別料金**（例: ハイシーズンの土曜だけ高くする）
- 祝日・週末より優先する適用順

> **この機能は施設ごとに有効化されます。** 設定画面に「特定日」タブが表示されない場合は、`ui_settings_date_tab` フィーチャーフラグが対象施設でOFFです。サポートに有効化をご依頼ください。

---

## 設定場所

**設定 → 「特定日」タブ**にあります。

編集できるのは施設オーナー・組織オーナーです。

同じ「特定日」タブの上部には[売止め](sales-blocks.md)があります。特定日・シーズンは「その日をいくらで売るか」、売止めは「その日を売るかどうか」を決める点が異なります。

> **このセクションは独自の保存ボタンを持ちます。** 画面下部の「保存」ボタンでは保存されません。区分と期間はそれぞれ「区分を保存」「期間を保存」で個別に保存してください（片方だけ保存されて成功と表示される事故を防ぐため、あえて分離しています）。

---

## 区分の設定

「区分を追加」をクリックすると入力欄が開きます。

| 項目名 | 説明 | 必須 |
|-------|------|------|
| キー | 料金プラン側の料金と紐づく識別子（例: `high_season`） | はい |
| 表示名 | 画面やタブに表示される名称（例: ハイシーズン） | はい |
| 優先度 | 1〜1000の整数。数値が大きい区分が優先されます（既定は100） | はい |

### キーの入力規則

| 条件 | 説明 |
|------|------|
| 使用できる文字 | 英小文字（a〜z）、数字（0〜9）、アンダースコア（_） |
| 先頭の文字 | 英小文字で始まること |
| 最大文字数 | 40文字 |
| 変更 | **作成後は変更できません**（プラン側に入力した料金と紐づいているため） |

### 使用できないキー（予約済み）

以下は組み込みの曜日タイプで使用しているため、区分のキーには使えません。

`weekday`（平日）／ `friday`（金曜）／ `saturday`（土曜）／ `sunday`（日曜）／ `weekend`（週末）／ `holiday`（祝日）／ `dayBeforeHoliday`（祝前日）

> 使用できない文字列があるのはキーだけです。ただし表示名にも別の制限があります（次項）。

### 表示名は施設内で重複できません

同じ施設内で、既存の（削除していない）区分と同じ表示名は保存できません。大文字・小文字は区別されないため、`Obon` と `obon` は重複として扱われます。表示名は料金プラン画面でクラスを見分ける唯一の手がかりのため、重複したまま保存できてしまうと、どちらのタブの料金か分からなくなり誤った金額設定につながるおそれがあるためのチェックです。重複した表示名で保存しようとすると、どのキーの区分と重複しているかを示すエラーが表示されます。

---

## 期間の設定

区分の行にある「期間を追加」から、その区分が適用される日を登録します。1つの区分に複数の期間を登録できます。

| 項目名 | 説明 | 必須 |
|-------|------|------|
| 開始日 | 期間の初日 | はい |
| 終了日 | 期間の最終日（開始日と同じ日でも可） | はい |
| 毎年繰り返す | 毎年同じ月日で繰り返すかどうか | いいえ |
| 繰り返しの終了日 | 繰り返しをやめる日（未入力なら無期限） | いいえ |
| 除外日 | 期間内で適用したくない日（複数登録可） | いいえ |

### 期間の注意点

- **1つの期間は366日以内**です。それより長い場合は期間を分けて登録してください
- **年をまたぐ期間**（例: 12/29〜1/3）もそのまま登録でき、「毎年繰り返す」も正しく動作します
- **2月29日から始まる年次繰り返し**は、平年では2月28日に繰り上がります（3月1日にはなりません）
- **期間が1つも登録されていない区分は、どの日にも適用されません**（料金プランにはタブが表示されます）

---

## カレンダープレビュー

セクション下部に、**今後3か月**のカレンダーが表示されます。どの日がどの区分に該当するかを色で確認できます。

- 同じ日に複数の区分が該当する場合は、**優先度の高い区分**の色で表示されます
- プレビューの判定は実際の料金計算とまったく同じ処理で行われるため、表示と請求がずれることはありません
- 日付にマウスを合わせると、該当する区分の表示名が表示されます

---

## 料金の設定（料金プラン側）

区分を作成すると、各料金プランの編集画面に区分ごとの料金入力欄が追加されます。

![宿泊料金のシーズンタブ](https://unlockos.io/help/images/date-classes/rate-tab.ja.webp)

| プランタイプ | 区分別料金の入れ方 |
|------------|------------------|
| 宿泊プラン | 曜日タブの右に区分のタブが追加されます（一泊あたりの料金） |
| 日額固定プラン | 曜日タブの右に区分のタブが追加されます |
| 固定時間＋超過課金プラン | 曜日タブの右に区分のタブが追加されます |
| ワンタイムプラン | 曜日タブの右に区分のタブが追加されます |
| 時間枠予約プラン | 曜日タブの右に区分のタブが追加されます（時間枠と料金） |
| 時間課金プラン | タブではなく「特定日・シーズン別の料金」に**区分ごとの分単価の行**が追加されます |

### シーズンの中で曜日ごとに料金を分ける

シーズンの料金は、**1つの定額**にも、**シーズンの中の曜日別**にもできます。

区分のタブ（時間課金プランは区分の行）にある「**曜日ごとに分ける**」をONにすると、そのタブが「**〇〇全体**」と曜日ごとのサブタブに分かれ、シーズン専用の曜日別料金を入力できます。

選べる曜日はプランタイプによって異なります。

| プランタイプ | 選べる曜日 |
|------------|-----------|
| 宿泊プラン | 平日・金曜・土曜・日曜・祝日・祝前日 |
| 日額固定／固定時間＋超過／ワンタイム／時間枠予約／時間課金 | 平日・週末・祝日 |

### 料金が決まる順番（シーズン内）

シーズン内の日付は、次の順で**最初に見つかった料金**が使われます。

1. その**曜日**の料金（例: ハイシーズンの土曜）
2. 「**〇〇全体**」の料金（区分の料金）
3. 通常の曜日・祝日の料金

| やりたいこと | 入れ方 |
|------------|--------|
| ハイシーズンは一律25,000円 | 「曜日ごとに分ける」はOFFのまま、区分の料金に25,000円 |
| ハイシーズンは基本25,000円・土曜だけ30,000円 | ONにして「全体」に25,000円、「土曜」に30,000円 |
| **ハイシーズンの土曜だけ上げ、他の日は通常どおり** | ONにして「**土曜だけ**」入れ、「全体」は**空欄のまま**にする |

> **空欄はそのまま次の段へ落ちます。** 「全体」を空欄にして特定の曜日だけ入れると、**入れなかった曜日は通常の料金のまま**になります。これがこの機能のいちばん便利な使い方です。逆に「全体」に金額を入れると、入れなかった曜日はすべてその金額になります。

> ⚠️ **「曜日ごとに分ける」をOFFに戻すと、入力済みの曜日別料金は削除されます。** 確認メッセージが表示され、確定すると元に戻せません（「全体」の料金は残ります）。

### 適用の優先順位

1つの日付が複数に当てはまる場合、次の順で**上にあるものが勝ちます**。

| 優先順位 | 種別 |
|---------|------|
| 1（最優先） | **優先度が最も高い区分** — その中では「曜日別の料金」→「区分全体の料金」の順 |
| 2 | **次に優先度が高い区分** — 同じく「曜日別の料金」→「区分全体の料金」の順 |
| 3 | 祝日 |
| 4 | 祝前日 |
| 5 | 金曜 |
| 6 | 土曜 |
| 7 | 日曜 |
| 8 | 週末 |
| 9 | 平日 |

区分は**優先度順にひとまとまりで判定されます**。優先度の高い区分に関する料金は、低い区分に関する料金のすべてより先に使われます（低い区分の曜日別料金より、高い区分の「全体」料金のほうが先です）。

例:

- **土曜日がハイシーズン期間内で、ハイシーズンの土曜料金を入れている** → **「ハイシーズンの土曜」** の料金が適用されます
- **土曜日がハイシーズン期間内で、ハイシーズンに「全体」の料金だけ入れている** → 「土曜」ではなく **「ハイシーズン全体」** の料金が適用されます
- **土曜日がハイシーズン期間内で、ハイシーズンには平日料金しか入れておらず「全体」も空欄** → **通常の「土曜」** の料金が適用されます
- **祝日がハイシーズン期間内** → 「祝日」ではなく **「ハイシーズン」**（祝日の料金を入れていればその料金）が適用されます
- **長いハイシーズンの中のお盆だけ別料金にしたい** → 期間は重複できないため、ハイシーズンをお盆の前後で分割してください（例: ハイシーズン 9/1–9/9、お盆 9/10–9/13、ハイシーズン 9/14–9/30）。こうすると各日付はちょうど1つの区分に属します

### 料金を入れていない区分は適用されません

プラン側で区分の料金を空欄のままにした場合、そのプランではその区分は**使われません**。その日はこれまでどおり曜日・祝日の料金で計算されます。曜日ごとに分けている場合も同じで、**入れていない曜日は「区分全体」の料金に、それも空欄なら通常の曜日料金に落ちます**。**既存のプランは何も設定しなければ従来どおり動作します。**

---

## この機能でできないこと（重要）

導入前に必ずご確認ください。

### 1. 時間課金プランの「時間帯別の料金（料金段階）」は区分別にできません

時間課金プランで区分別に設定できるのは、**基本の分単価だけ**です。「特定時間帯の料金設定（料金段階）」の平日／週末／祝日チェックボックスは従来どおりで、シーズン別の時間帯レートは設定できません。

シーズン中だけ時間帯別のレートを変えたい場合は、**プランを2つに分けて**（例: 「通常期プラン」「ハイシーズンプラン」）、シーズンの切り替わりで**公開するプランを手動で入れ替える**運用になります。

> **日付によるプランの自動切り替えはありません。** 切り替えを忘れるとシーズン外の料金で予約が入るため、切り替え日をカレンダー等でご管理ください。

### 2. 付帯料金は区分別にできません

区分のタブで設定できるのは基本料金のみです。次の項目は区分別に変えられず、プラン全体で1つの値になります。

- レイトチェックアウト（延長）料金
- アーリーチェックイン料金
- ナイトパック（深夜パック）
- 1日の最大料金

### 3. 営業時間も区分別に設定できます

料金だけでなく、区分ごとの営業時間も設定できます（「夏季だけ 22 時まで」「お盆は 24 時間」など）。区分そのものはこの「特定日」タブで作りますが、**その区分の営業時間は「施設基本設定」タブの「営業時間」セクション内**で設定し、保存ボタンもそちら側です（営業時間と同じデータを書くため）。詳しくは [季節の営業時間](seasonal-business-hours.md) を参照してください。

### 4. 予約済みキーは使えません

`weekday` / `friday` / `saturday` / `sunday` / `weekend` / `holiday` / `dayBeforeHoliday` はキーに指定できません（上記「使用できないキー」参照）。

---

## 既存の予約への影響

**すでに確定した金額は動きません。**

| 予約の種類 | 挙動 |
|-----------|------|
| 前払い（予約時に決済） | 予約作成時に合計金額が確定済み。カレンダーを後から編集しても変わりません |
| 後払い（利用後に精算） | **予約を作成した時点**のカレンダーで計算されます。予約後に追加・削除した期間はその予約の請求に影響しません |
| これから入る予約 | 保存した時点以降のカレンダーで計算されます |

> **1点だけ例外があります。** 重なり合う複数のシーズンの**優先度**を後から入れ替えた場合、後払い精算の金額が変わる可能性があります（優先度と表示名は期間と違い、その場で上書きされるためです）。これは既に存在する重なり — 期間の重複が禁止される**前**に保存された区分 — だけに関係します（同時保存も書き込み後に再チェックされるため、新しい重なりがすり抜けることはありません）。重なりが残っている区分がある場合は、予約が入る前に優先度を確定させてください。なお、他と重なったままの期間の日付を変更する際も保存時に検証されるため、その時点で重なりの解消を求められます。

---

## 区分・期間の削除

「削除」をクリックすると、その区分の**使用状況を確認してから**確認メッセージが表示されます。

- 確認中は「この区分を使用している料金プランを確認しています…」と表示され、確認が終わるまで「削除する」は押せません
- **料金プランで使用されている場合**: 使用しているプラン名（最大5件、それを超える分は「+件数」でまとめて表示）と件数が表示されます。削除するとそれらのプランに保存された当該区分の料金は適用されなくなります（プラン側の入力値は残りますが、価格計算では無視され、対象日は通常の曜日・祝日の料金に戻ります）
- **料金プランでは未使用だが、シーズン営業時間（[季節の営業時間](seasonal-business-hours.md)）が設定されている場合**: その旨が表示されます。削除するとその営業時間は適用されなくなり、対象日は通常の営業時間に戻ります（営業時間に基づく料金計算にも影響します）
- **どちらにも使われていない場合**: 「削除しても料金には影響しません」と表示されます
- 使用状況の確認に失敗した場合は、上記の判定は行わず従来どおりの一般的な警告文が表示されます（削除自体は引き続き可能です）

内容を確認し、「削除する」で確定します。

- 削除した区分は**以後どの日にも適用されません**。料金プランに入力した金額は残りますが、価格計算では無視されます
- **既存予約の金額は動きません**（上記「既存の予約への影響」参照）
- 同じキーで区分を作り直すことができます。再作成すると、プラン側に残っていた料金が再び適用されます

---

## ボタン

| ボタン | 説明 |
|-------|------|
| 区分を追加 | 新しい区分の入力欄を開きます |
| 区分を保存 | 区分（キー・表示名・優先度）を保存します |
| 期間を追加 | その区分に期間を追加する入力欄を開きます |
| 期間を保存 | 期間を保存します |
| 除外日を追加 | 入力した日付を除外日リストに追加します |
| 編集 / 期間を編集 | 既存の区分・期間を編集します |
| 削除 / 期間を削除 | 削除の確認を表示します |
| 削除する | 削除を確定します |
| キャンセル | 入力を破棄します |

---

## よくある質問

### Q: 設定画面に「特定日」タブが表示されません
A: `ui_settings_date_tab` フィーチャーフラグが対象施設でOFFになっています。施設単位で有効化する必要があるため、サポートに有効化をご依頼ください。

### Q: 区分を作ったのに料金プランにタブが出ません
A: 料金プランの編集画面は開いたときの区分を読み込みます。区分を保存してから、料金プランの編集画面を開き直してください。

### Q: キーを後から変更できますか？
A: できません。キーは料金プラン側に入力した料金と紐づいているため、作成後は固定されます。変更したい場合は新しいキーで区分を作り直し、プラン側の料金を入力し直してください（表示名はいつでも変更できます）。

### Q: 表示名を他の区分と同じにできますか？
A: できません。同じ施設内（削除していない区分どうし）で表示名が重複していると保存時にエラーになります（大文字・小文字は区別されません）。表示名は料金プラン画面でクラスを見分ける唯一の手がかりのため、重複を防ぐためのチェックです。

### Q: 土曜日がハイシーズンの場合、どちらの料金が適用されますか？
A: そのシーズンで**土曜の料金を入れていれば「ハイシーズンの土曜」料金**、「区分全体」の料金だけ入れていれば**「ハイシーズン全体」の料金**です。特定日・シーズンは祝日・週末・曜日のすべてより優先されます。ただし、そのシーズンに土曜の料金も「全体」の料金も入れていない場合は、**通常の土曜料金**に戻ります。

### Q: ハイシーズンの土曜だけ料金を上げたい
A: ハイシーズンのタブで「曜日ごとに分ける」をONにし、**土曜だけ**料金を入れてください。「区分全体」は**空欄のまま**にします。そうすると他の曜日はそれぞれの通常料金で計算され、土曜だけがシーズン料金になります。

### Q: シーズンの平日料金だけ入れました。シーズン中の土曜はどうなりますか？
A: 「区分全体」が空欄なら**通常の土曜料金**、「区分全体」に金額が入っていれば**その金額**になります。入れていない曜日は「区分全体」→通常の曜日料金の順に落ちるためです。

### Q: 「曜日ごとに分ける」をOFFに戻すとどうなりますか？
A: 入力済みの**曜日別料金は削除されます**（確認メッセージが出ます）。その区分は「区分全体」の1つの料金に戻ります。元に戻せないため、必要な金額は控えてから操作してください。

### Q: 2つのシーズンが重なった場合はどうなりますか？
A: 重なる期間は**保存できません**。保存時に、どの区分のどの期間と重なっているかを示すエラーが表示されます。長いシーズンの中の特別な期間だけ別料金にしたい場合は、長いシーズンをその前後で分割してください（例: ハイシーズン 9/1–9/9、お盆 9/10–9/13、ハイシーズン 9/14–9/30）。日付を共有しない隣接した期間は問題ありません。
既に存在する重なり（主にこのルール導入**前**に保存された区分）は引き続き優先度で解決されます。その日付では**優先度の数値が大きい区分**が適用され、優先度が同じ場合はキーのアルファベット順（昇順）で先にくる区分が適用されます。なお区分はひとまとまりで判定されるため、**優先度の低い区分の曜日別料金より、優先度の高い区分の料金のほうが先に使われます**。

### Q: 一部のプランだけシーズン料金を適用したい
A: そのプランにだけ区分の料金を入力してください。料金を空欄にしたプランでは、その区分は適用されず従来どおりの料金で計算されます。

### Q: ハイシーズンだけ時間帯別（朝・夜など）の料金を変えたい
A: 現在の時間課金プランでは対応できません。区分別に設定できるのは基本の分単価のみです。プランを「通常期」「ハイシーズン」に分け、公開するプランを手動で切り替えて運用してください（日付による自動切り替えはありません）。

### Q: シーズン中だけ営業時間を変えたい
A: 対応しています。「施設基本設定」タブの「営業時間」セクションで区分ごとの営業時間を設定してください。設定した区分の営業時間は曜日ごとの個別設定より優先されます。詳しくは [季節の営業時間](seasonal-business-hours.md) を参照してください。

### Q: 時間枠予約プランでシーズンのタブに時間枠を入れたのに反映されません
A: そのタブで**有効になっている時間枠が1つもない**と、下位の曜日タイプ（週末・平日）の時間枠が使われます。シーズンのタブで各時間枠の「有効」をONにしてください。

### Q: 年末年始のように年をまたぐ期間はどう登録しますか？
A: 開始日を12/29、終了日を翌年1/3のように指定し、「毎年繰り返す」をONにしてください。年またぎの期間もそのまま毎年繰り返されます。

### Q: 期間の中の1日だけ除外したい
A: 期間の編集画面で「除外日」にその日付を追加してください。除外した日はその区分に該当しなくなり、通常の曜日・祝日の料金で計算されます。

### Q: 区分を削除しようとしたら、使用しているプランが表示されました
A: その区分の料金を保存している料金プランの名前と件数です（最大5件、それ以上は「+件数」でまとめられます）。削除するとそれらのプランでこの区分の料金が適用されなくなります（入力値自体は残ります）。既存予約の金額は変わりません。同じキーで区分を作り直せば、残っていた料金が再び適用されます。

### Q: 区分を削除したら、これまでの予約の金額は変わりますか？
A: 変わりません。確定済みの金額は動きません。削除は以後の価格計算にのみ影響します。

---

## 関連ページ

- [基本設定](base-settings.md) - 通貨・タイムゾーン・営業時間・祝日設定
- [料金プラン設定](plan-form.md) - 曜日・祝日・シーズンによる料金の決まり方
- [売止め](sales-blocks.md) - 特定の日だけプランの販売を止める
- [プラン一覧](plan-list.md)

---

最終更新: 2026-08-21 - 売止めへの相互リンクを追加 (#2802, #2813)

2026-08-20: 期間の重複防止・表示名の重複防止（施設内で一意、大文字小文字を区別しない）・削除確認の使用状況表示（使用中のプラン名／シーズン営業時間の有無／未使用）を追加 (#2676 #2692 #2748)
