<!-- https://unlockos.io/ja/manual/booking-setup-guide -->

# 予約サービス セットアップガイド（はじめから本番受付まで）

本ガイドは **シナリオ形式で最初に読むべきマニュアル** です。予約サービスを初めて設定する方は、まずこのページを上から順にたどってください。

> **設計思想について:** UnlockOS の予約機能は、既存の予約 SaaS とは設計思想が異なります。「カレンダー枠を売る」のではなく **「物理アクセス権 (= 鍵) を時間で切り出す」** 発想で、決済 → 鍵受取がひとつの URL で完結します。深夜のチェックイン、超過課金、PIN 送信ミス、衝突解決といった **運用で最も痛い瞬間が「あとから対処する機能」ではなく「設計時点で組み込まれている」** のが本機能の特徴です。本ガイドの手順は、この前提に立って組み立てられています。

---

## 全体像（9ステップ）

予約受付を開始するには、おおむね以下の順序で設定します。前のステップに依存するものが多いため、 **番号順に進める** ことを強く推奨します。

```
[1] KEYVOX連携 ─────┐
[2] Stripe連携 ─────┤
[3] 基本設定 ───────┼──→ [4] プラン作成 ──→ [5] 予約管理 > プラン設定 ──→ [9] テスト
     ├ Slug         │                                         │
     ├ 部屋タイプ    │                                         │
     ├ 部屋          │                                         │
     └ ロック割当 ───┘                                          │
                                                              │
[6] Googleカレンダー連携（任意） ────────────────────────────────┤
[7] チェックイン設定（任意） ────────────────────────────────────┤
[8] フォーム設定（任意・チェックイン設定とは独立） ──────────────────┘
```

| # | ステップ | 必須 / 任意 | 目安時間 | 依存 |
|---|---------|------------|---------|------|
| 1 | KEYVOX連携 | 必須（鍵を発行する場合） | 5分 | なし |
| 2 | Stripe連携 | 必須（オンライン決済を受ける場合） | 15分 | なし |
| 3 | 基本設定（Slug / 部屋タイプ / 部屋 / ロック割当） | 必須 | 30〜60分 | 1（ロック割当のみ） |
| 4 | プラン作成（Hourly / TimeSlot / 宿泊） | 必須 | 10〜30分 | 3 |
| 5 | 予約管理 > プラン設定 | 必須 | 10分 | 3, 4 |
| 6 | Googleカレンダー連携 | 任意 | 5分 | 3, 5 |
| 7 | チェックイン設定 | 任意 | 15分 | 4 |
| 8 | フォーム設定 | 任意 | 10分 | なし（チェックイン設定とは独立） |
| 9 | 予約アプリでテスト予約 | 必須 | 10分 | 1〜5（および任意で6, 7, 8） |

**合計目安: 90分〜2.5時間**（規模により変動）

---

## ステップ1: KEYVOX連携

### 目的

UnlockOSが施設のスマートロックを操作できるようにします。これによりチェックイン時に **鍵の自動発行** が可能になります。

> 鍵を発行しない（チェックイン後の物理鍵お渡しなど）施設は本ステップをスキップして問題ありません。その場合はステップ3の「ロック割当」もスキップできます。

### 前提

- KEYVOXのアカウントを持っていること
- KEYVOXダッシュボード側で対象施設の場所（Place）とドアが登録済みで、そのドアにロックデバイスが紐付けられていること

### 手順

1. メインアプリ左メニューから **アプリ連携** を開く
2. 画面上部のタブから **KEYVOX** を選択
3. **KEYVOXでログイン** をクリック
4. KEYVOXアカウントでOAuth認証を完了
5. 認証後、登録済みのロックデバイスが場所（Place）ごとに一覧表示されることを確認

![アプリ連携 > KEYVOXタブ（接続済み）](https://unlockos.io/help/images/booking-setup-guide/step1-keyvox.ja.webp)

### 確認

- 「KEYVOXロックシステム」カードに **「接続済み」** のラベル
- 登録済みの場所（例: 「Think Space 戸越スタジオ」）と各ドア（共同玄関、ストレージなど）が一覧表示される
- 各ドアに **UnitID** が振られている

うまく一覧が出ない場合は、KEYVOX側で対象施設のドア・ロックデバイスが正しく紐付けられているかご確認ください。

> **解錠ロックの選択について:** 各ドアには「解錠ロック」セレクタが表示されますが、ここでロックを部屋に割り当てるのはステップ3-4で行います。本ステップでは選択せず、デバイスが一覧表示されることだけを確認すれば十分です。

### 詳細

- [ロック接続ヘルプ](lock-connection.md) — 接続フロー、トラブルシュート、ログアウト手順

---

## ステップ2: Stripe連携

### 目的

オンラインでの **クレジットカード決済** を有効化します。前払い、後払い、デポジットなどの請求がチェックイン時に可能になります。

> 現金 / 銀行振込 / 招待コードのみで運用する施設は本ステップをスキップできます。ただし「予約時に即時決済を取りたい」場合は必須です。

### 前提

- Stripeアカウントを持っていること（無料で作成できます）
- Stripeダッシュボードで以下のキーを取得済みであること:
  - **公開可能キー (Publishable Key)** — `pk_test_...` または `pk_live_...`
  - **シークレットキー (Secret Key)** — `sk_test_...` または `sk_live_...`
  - **Webhook Secret** — `whsec_...`（オプション。Webhookを使う場合のみ）

### 手順

1. メインアプリ左メニューから **アプリ連携** を開く
2. 画面上部のタブから **Stripe** を選択
3. **基本設定** 欄に Stripeダッシュボードからコピーした3つのキーを貼り付け
4. **決済設定** 欄でモード（テストモード / 本番モード）と通貨を選択
5. **保存** をクリック

![アプリ連携 > Stripeタブ（APIキー入力画面）](https://unlockos.io/help/images/booking-setup-guide/step2-stripe.ja.webp)

### 確認

- Stripe決済システムカードのバッジが **「接続済み」**（緑）になっている
- ステップ5の「予約設定」で **通貨と支払いタイミングを設定できる** ようになる

### 詳細

- [ロック接続ヘルプ（Stripeタブ）](lock-connection.md#stripe決済連携タブ)

> **テストモード vs 本番モード:** 動作確認は必ずテストモード（`pk_test_*` / `sk_test_*`）で行ってください。本番モードに切り替えるのは、ステップ9のテスト予約成功後を推奨します。  
> **通貨の選択:** 現状は1施設につき1通貨です。複数通貨を扱う場合は別途ご相談ください。

---

## ステップ3: 基本設定（Slug / 部屋タイプ / 部屋 / ロック割当）

### 目的

施設の「物理的な情報」をUnlockOSに登録します。 **このステップが最大のつまずきポイント** です。順番が大事なので、3-1 → 3-2 → 3-3 → 3-4 を順に進めてください。

すべて **基本設定** ページ（メインアプリ左下メニュー「基本設定」、または上部の歯車アイコン）で完結します。基本設定ページは「施設基本設定 / 組織 / 施設 / 部屋」の4タブで構成され、3-2 以降は「部屋」タブ配下のサブタブを使います。

### 3-1. Slug（施設URL識別子）の設定

#### 目的
ゲスト向け予約URLや置き配URLのベースとなる短い識別子（例: `thinkspace`、`sakura-mansion`）を設定します。

#### 手順
1. メインアプリのメニューから **基本設定** を開く
2. デフォルト表示の **施設基本設定** タブのまま
3. **各種アプリURL** 欄に希望のSlugを入力（英小文字・数字・ハイフン、3文字以上）
4. 入力中にリアルタイムで重複チェックが行われ、 緑のチェックマーク（✓）が出れば使用可能
5. **保存** をクリック

![基本設定 > 施設基本設定 > 各種アプリURL](https://unlockos.io/help/images/booking-setup-guide/step3-1-slug.ja.webp)

#### 確認
- スラッグ入力欄の下に **アプリURL一覧パネル** が表示される（ショートURL `go.unlockos.io/{slug}` + QRコードなど）
- 予約URL欄が `booking.unlockos.io/{slug}` の形式になっている

> **注意:** Slug変更時、過去に配布した置き配QRコードは無効になります。本番運用後の変更は慎重に。

詳細: [基本設定ヘルプ](base-settings.md)

### 3-2. 部屋タイプ（Room Type）を追加

#### 目的
「スタジオ」「コワーキングスペース」「貸し切り」「ダブルルーム」など、 **同じ料金体系で扱えるグループ** を定義します。プランは部屋タイプ単位で紐付けます。

#### 手順
1. **基本設定** → 上部の **部屋** タブ
2. サブタブから **部屋タイプ** を選択
3. 右上の **新規作成** をクリック
4. 名称、説明、予約タイプ（**専有型** / **共用型**）、並び順などを入力
   - **専有型**: 「対象の部屋」で、この部屋タイプに含める部屋を選択します。**総室数（同時に予約できる数）は選択した部屋数から自動算出**され、手入力はありません（部屋がまだ無い場合は先に 3-3 で部屋を追加してください）
   - **共用型**: 席数（共有キャパシティ）を入力します
5. **保存**

![基本設定 > 部屋 > 部屋タイプ](https://unlockos.io/help/images/booking-setup-guide/step3-2-roomtypes.ja.webp)

#### 確認
- 部屋タイプ管理に追加したエントリが「有効」バッジ付きで表示される
- 予約タイプ（専有型 / 共用型）が想定通り

> **専有型と共用型の違い:**  
> - **専有型**: 1部屋を1組のゲストが独占（ホテル客室、貸し切りスタジオなど）。「対象の部屋」で紐づく部屋を選択すると、**総室数は紐づく部屋数から自動算出**されます（部屋を追加・無効化すると自動で更新）。これにより空き状況と予約可否の判定が常に実際の部屋数と一致します  
> - **共用型**: 1空間を複数組が席単位でシェア（コワーキング、シェアラウンジなど）。席数を設定

> **設計のコツ:** プランは部屋タイプ単位なので、同じ料金で売る部屋はまとめます。逆に「同じ広さでも料金を分けたい」場合は別タイプにします。

### 3-3. 部屋（Room）を追加

#### 目的
個別の部屋（例: 3A、3C、貸し切り）を登録します。各部屋は1つの部屋タイプに属します。

#### 手順
1. **基本設定** → **部屋** タブ → **部屋一覧** サブタブ
2. 右上の **部屋を追加**（または **一括追加**）をクリック
3. 部屋名（例: 3A）、フロア、所属する部屋タイプ、種別、入室者数などを入力
4. **保存**
5. 部屋ごとに繰り返す

![基本設定 > 部屋 > 部屋一覧](https://unlockos.io/help/images/booking-setup-guide/step3-3-rooms.ja.webp)

#### 確認
- 部屋一覧に登録した全ての部屋が表示される
- 各部屋に正しい部屋タイプ・種別バッジが表示される

> **隣接部屋を1部屋として売りたい場合:** 個別の部屋を作ったうえで「連結部屋」サブタブで「続き部屋」を作成します。詳細は [連結部屋ヘルプ](connecting-rooms.md) を参照。

### 3-4. ロックを部屋に割り当て

#### 目的
KEYVOX側で登録されているスマートロックを、UnlockOS上の部屋に紐付けます。これによりチェックイン時に正しい部屋の鍵が発行されます。

#### 前提
- ステップ1（KEYVOX連携）が完了していること
- ステップ3-3で部屋を登録済みであること

#### 手順
1. **基本設定** → **部屋** タブ → **ロック割り当て** サブタブ
2. 部屋一覧テーブルが表示される
3. 各行の **ロック** ドロップダウンから対応するKEYVOXロック（場所 + ドア）を選択
4. 選択した時点で **割り当て済** バッジに変わる（明示的な保存ボタンは不要）

![基本設定 > 部屋 > ロック割り当て](https://unlockos.io/help/images/booking-setup-guide/step3-4-lock-assign.ja.webp)

#### 確認
- 各部屋のステータスが **「割り当て済」**（緑バッジ）になっている

> **ロックが選択肢に出てこない場合:** KEYVOX連携が切れている可能性。ステップ1に戻って **「接続済み」** を確認してください。

詳細: [ロック接続ヘルプ](lock-connection.md)

---

## ステップ4: プラン作成（Hourly / TimeSlot / 宿泊）

### 目的

ゲストに販売する料金プランを作成します。予約サービスで使えるのは以下の **3種類（予約可能プラン）** です。

| プラン種別 | こんな施設に | 例 |
|----------|--------------|-----|
| **宿泊予約（accommodation）** | ホテル、民泊、ゲストハウス | 1泊 ¥12,000 |
| **時間課金（hourly）** | コワーキング、スタジオ、会議室 | 1時間 ¥1,000 |
| **時間帯別予約（timeSlot）** | 固定時間枠で売るスペース | 10:00-13:00 ¥3,000 |

> プラン一覧には他に「一日固定」「固定＋超過」「ワンタイム」もありますが、これらは **施設内課金専用** で予約URLからは販売できません。予約サービスを設定したい場合は上記3種類のいずれかを作成してください。

### 前提

- ステップ3で部屋タイプが少なくとも1つ作成済み
- ステップ2でStripe連携が完了している（無料プランのみの場合は不要）

### 手順

1. メインアプリ左メニューから **プランリスト** → **プラン** タブ
2. 右上の **新規作成** をクリック
3. **プラン情報** セクションで以下を入力:
   - プラン名（例: 「平日プラン」）
   - 説明文（任意）
   - **料金プラン種別** ドロップダウンから 宿泊予約 / 時間課金 / 時間帯別予約 のいずれかを選択
4. **料金プラン詳細** セクションで予約可能曜日、基本料金、時間帯別料金などを入力（項目は種別により異なる）
5. 画面右側 **シミュレーション** パネルで、ゲストが見る料金計算結果をその場で確認
6. **保存**

> **曜日別・祝日料金について:** 宿泊予約プランでは 平日 / 金曜 / 土曜 / 日曜 / 祝日 / 祝前日 のタブごとに1泊あたりの料金を設定でき、**予約URL経由の予約にも1泊ずつ適用されます**（優先順位は 祝日 > 祝前日 > 金曜 > 土曜 > 日曜 > 平日）。祝日は施設の所在国の祝日データから自動判定されます。
>
> 使わない曜日タブを「無効」のままにすると、その曜日にあたる泊が **0 円**として計算される点に注意してください（平日料金にはフォールバックしません）。詳細は [料金プラン設定 — 曜日・祝日による料金の決まり方](plan-form.md) を参照してください。

![プランリスト（一覧）](https://unlockos.io/help/images/booking-setup-guide/step4-plan-list.ja.webp)

![プラン新規作成フォーム](https://unlockos.io/help/images/booking-setup-guide/step4-plan-new.ja.webp)

### 確認

- プランリストに作成したプランが表示される
- 種別バッジ（時間課金 / 宿泊予約 / 時間帯別予約）が想定通り
- 編集アイコンから入り直してシミュレーション結果が正しいことを再確認

### 詳細

- [プラン一覧ヘルプ](plan-list.md) — プラン一覧の操作
- [プランフォームヘルプ](plan-form.md) — 各種別の入力項目詳細
- [週次グリッド予約（時間課金 / 時間帯別の挙動）](hourly-week-grid-admin.md)
- [時間帯別予約の設定](timeslot-booking-admin.md)

> **設計のコツ:** 最初は **1部屋タイプ × 1プラン** からスタートし、運用に乗せてから増やすのが安全です。複数プラン × 複数部屋タイプの組み合わせ最適化は後からでも可能です。

---

## ステップ5: 予約管理 > プラン設定（部屋タイプ × プランのマッピング）

### 目的

ステップ4で作ったプランを、ステップ3で作った部屋タイプに紐付けて **ゲストに見せる予約商品** を完成させます。このマッピングが無いと、いくら部屋とプランがあっても予約URLには何も表示されません。

### 前提

- ステップ3（部屋タイプ）とステップ4（プラン）が完了していること

### 手順

1. メインアプリ左メニューから **予約管理** を開く
2. **プラン設定** タブを選択
3. **新規作成** をクリック（既存の設定は鉛筆アイコンから編集）
4. **設定名** を入力（例: 「公式サイトからの予約」「ThinkSpace 3C」）
5. **部屋タイプ × プラン** セクションで、販売したい部屋タイプを選び、それぞれに紐付けるプランをチェック
6. プランごとに **表示名**・**説明**・**定員**・**鍵の表示タイプ** (QR/PIN/顔認識) を設定
7. 通貨、予約リードタイム、最長予約日数、キャンセルポリシーを設定
8. **保存**
9. 設定カードの **リンクアイコン** をクリックして予約URLをコピー

![予約管理 > プラン設定 タブ](https://unlockos.io/help/images/booking-setup-guide/step5-booking-configs.ja.webp)

![予約設定 編集（部屋タイプ × プランのマッピング）](https://unlockos.io/help/images/booking-setup-guide/step5-booking-config-form.ja.webp)

### 確認

- 設定カードに **「有効」** バッジ + 最小予約時間 / 最大予約日数 / プラン件数 / キャンセルポリシー概要が表示される
- 予約URLが `https://booking.unlockos.io/{slug}?config=<設定ID>` 形式
- コピーしたURLをブラウザで開くと予約画面が表示される

> **「対応プラン種別」の注意:** 編集画面の冒頭に黄色帯で説明があるとおり、予約URLから売れるのは **宿泊予約 / 時間課金 / 時間帯別予約** のみ。「一日固定」「固定＋超過」「ワンタイム」プランはこの画面に出てきません。出てこない場合はプラン側の種別をご確認ください。

### 詳細

- [予約管理ヘルプ（プラン設定タブ）](booking.md#機能4-プラン設定タブ)
- [予約設定フォームヘルプ](reservation.md)

> **複数の販売チャネルを作りたい場合:** 設定を複数作成することで、URL別に「公式サイト用」「メルマガ用」「法人顧客用」など料金やプランの組み合わせを変えられます。

---

## ステップ6: Googleカレンダー連携（任意）

### 目的

UnlockOSの予約をGoogleカレンダーに自動書き込みします。他のチャネル（Airbnb、自社カレンダー手入力など）とのダブルブッキング防止に有効です。

> 単一チャネルで運用する施設はスキップ可能です。

### 前提

- ステップ5まで完了し、予約を受けられる状態
- 連携先のGoogleアカウント

### 手順

1. メインアプリ左メニューから **アプリ連携** → **外部連携** タブ
2. **Googleカレンダー** カードをクリック
3. **接続する** をクリックして Google OAuth 認証
4. 書き込み先カレンダーを選択
5. 設定を保存

![アプリ連携 > 外部連携 タブ](https://unlockos.io/help/images/booking-setup-guide/step6-integrations-hub.ja.webp)

### 確認

- 外部連携タブの **Googleカレンダー** カードのバッジが **「✓ 連携中」**
- テスト予約をすると、選択したGoogleカレンダーに予定が作成される

> **Googleカレンダーカードが表示されない場合:** 施設の `card_gcal` フィーチャーフラグがOFFになっています。サポートに有効化をご依頼ください。スクリーンショットの Think Space Tokyo ではOFFのため、ねっぱん! / CIV カメラのみ表示されています。

### 詳細

- [外部連携ハブ](external-integrations.md)
- [Googleカレンダー連携ヘルプ](google-calendar-integration.md)

> **iCal連携（Airbnb / 楽天トラベル等）はステップ9のテスト後の本番運用設定で説明します。**

---

## ステップ7: チェックイン設定（任意）

### 目的

料金プラン × スマートロック × 支払いタイミング × 収容人数などをひとまとめにし、URL（例: フロントのQR）から起動する **チェックイン体験** を作ります。

> 予約URLからのオンライン予約だけで完結する施設はスキップ可能です。後からでも追加できます。

### 前提

- ステップ4（プラン）が完了していること

### 手順

1. メインアプリ左メニューから **チェックインリスト** を開く
2. 右上の **新規作成** をクリック
3. **基本情報**: チェックイン設定名と説明を入力
4. **施設の画像**: メンバーアプリのカード上部に表示される画像をアップロード（任意、複数枚カルーセル可）
5. **プラン設定**: プラン選択タイプ（個別プラン / プラングループ）を選び、適用するプランを選択
6. **鍵設定**: 入口鍵となるロック、収容人数、支払いタイミング、デポジットを設定
7. **保存**

![チェックインリスト（一覧）](https://unlockos.io/help/images/booking-setup-guide/step7-checkin-list.ja.webp)

![チェックイン設定 新規作成フォーム](https://unlockos.io/help/images/booking-setup-guide/step7-checkin-new.ja.webp)

### 確認

- チェックインリストに作成した設定が表示され、チェックインID（`ic-xxxxxxxx`）が振られる
- リンクアイコンから取得したチェックインURLでチェックインフローを開ける

### 詳細

- [チェックイン設定ヘルプ](checkin-config-form.md)

---

## ステップ8: フォーム設定（任意）

### 目的

パスポート画像、署名、緊急連絡先など、 **宿泊者情報の入力フォーム** を定義します。

> フォームは **チェックインに必須ではありません** 。チェックイン設定とは独立しており、必要な場合のみ作成してください。作成後にチェックイン設定や予約設定に紐付けると、ゲストが該当フローで記入することになります。

### 前提

- 特になし（チェックイン設定の有無に関わらず作成可能）

### 手順

1. メインアプリ左メニューから **フォーム** を開く
2. **作成** タブを選択（デフォルトは「回答」タブ — 過去の回答閲覧用）
3. 右上の **+ 新規フォーム** をクリック
4. フォーム名（例: 「チェックイン情報入力フォーム」）、説明、適用範囲（予約 / チェックイン など）を入力
5. **フォームを作成** をクリックしてフォーム編集画面へ
6. 必要なフィールド（テキスト、画像、署名、選択肢など）を追加
7. ホスト国（施設所在国）を設定（パスポート要件に関わる国籍別分岐）
8. 公開状態を「公開中」に切り替え
9. 作成後、必要に応じてチェックイン設定（ステップ7）や予約設定（ステップ5）、iCal連携に紐付け

![フォーム管理 > 作成タブ（フォーム一覧）](https://unlockos.io/help/images/booking-setup-guide/step8-forms-list.ja.webp)

![新しいフォームを作成（フォーム名+適用範囲）](https://unlockos.io/help/images/booking-setup-guide/step8-forms-new.ja.webp)

### 確認

- フォーム一覧に作成したフォームが「公開中」バッジ付きで表示される
- 紐付け先（チェックイン設定 / 予約設定 / iCal連携）でフォームが選択肢に出る

### 詳細

- [フォーム管理ヘルプ](forms.md)

---

## ステップ9: 予約アプリでテスト予約

### 目的

実際にゲストの立場で予約を1件通して、設定全体が正しく機能することを確認します。

### 前提

- ステップ1〜5が完了
- 任意で6, 7, 8も完了

### 手順

1. ステップ5でコピーした予約URL（`https://booking.unlockos.io/{slug}?config=<設定ID>`）を新しいブラウザウィンドウ（できればシークレットモード）で開く
2. ランディングで **Spaces** 一覧が表示され、部屋タイプとプランが想定通りに見えることを確認
3. 部屋タイプを選んで **Availability**（SELECT ROOM & PLAN）画面でプランを選択し、日時を選んで予約フォームへ進む
4. テスト用ゲスト名・メールアドレスを入力
5. Stripeの **テストカード** (`4242 4242 4242 4242` / 任意の将来日 / 任意のCVC) で決済
6. 確定後、予約管理 > **予約一覧** に新しい予約が表示されることを確認
7. 予約詳細を開き、 **アクセスコード（鍵コード）** が発行されているか確認
8. 任意でステップ6を完了している場合: Googleカレンダーに予定が書き込まれているか確認
9. 任意でステップ7（チェックイン設定）を完了している場合: 提示されたチェックインURLからセルフチェックインの流れを確認
10. 任意でステップ8（フォーム）を完了し紐付けている場合: フォームが正しく表示・送信できるか確認

![予約アプリ ランディング（Spaces一覧）](https://unlockos.io/help/images/booking-setup-guide/step9-booking-landing.ja.webp)

![予約アプリ Availability（部屋タイプ × プラン選択）](https://unlockos.io/help/images/booking-setup-guide/step9-booking-space-detail.ja.webp)

### 確認

| 項目 | 確認方法 |
|------|---------|
| ゲスト側に部屋タイプ・プラン・料金が正しく表示される | 予約URLを開く |
| 予約が受け付けられる | 決済完了画面が出る |
| 予約管理にエントリが現れる | 予約管理 > 予約一覧 |
| 鍵コードが発行される | 予約詳細ドロワー |
| ロックが正しい部屋のものになっている | 予約詳細のロック表示と部屋一覧の割当を比較 |
| Googleカレンダーに予定が作成される（任意） | Googleカレンダーで確認 |

### テスト後にやること

- テスト予約は **キャンセル** ボタンから削除
- 公開する前に、自社サイト / メール / SNSなどで配布する予約URLを再確認
- iCal連携（Airbnb等のOTAから予約を取り込みたい場合）を設定:
  - [iCal連携ヘルプ](ical-config.md)

---

## セットアップ完了チェックリスト

すべてにチェックが付いたら本番受付開始です。

### 必須項目

- [ ] KEYVOX連携が「接続済み」（鍵を発行する施設のみ）
- [ ] Stripe連携が「接続済み」（オンライン決済を受ける施設のみ）
- [ ] Slug が設定済みで、予約URLが `booking.unlockos.io/{slug}` 形式
- [ ] 部屋タイプを1つ以上作成
- [ ] 部屋を1つ以上作成、それぞれが部屋タイプに紐付いている
- [ ] 各部屋にKEYVOXロックを割り当て済み（鍵を発行する施設のみ）
- [ ] プランを1つ以上作成（宿泊 / 時間課金 / 時間帯別 のいずれか）
- [ ] 予約管理 > プラン設定 に部屋タイプ × プランのマッピングが1つ以上存在
- [ ] テスト予約が成功し、鍵コードが発行された

### 任意項目

- [ ] Googleカレンダー連携が「連携中」
- [ ] チェックイン設定を作成済み
- [ ] フォーム設定を作成済み
- [ ] iCal連携（Airbnb等）を設定済み

---

## よくあるつまずき

### Q: ゲスト向け予約ページに部屋タイプが表示されない

部屋タイプが表示されるのは **予約管理 > プラン設定 の「部屋タイプ × プラン」マッピングに登録されているもののみ** です。ステップ5を再確認してください。

### Q: プランを作ったのにプラン設定で選択肢に出てこない

「一日固定」「固定＋超過」「ワンタイム」プランは予約URLから売れません。 **宿泊 / 時間課金 / 時間帯別** のいずれかで作り直してください。

### Q: 部屋編集でロックの選択肢が表示されない

KEYVOX連携が切れている可能性があります。ステップ1に戻って「接続済み」を確認し、必要なら再接続してください。

### Q: テスト予約はできたが鍵コードが発行されない

以下の順で確認してください。
1. ステップ3-4でロックがその部屋に割り当てられているか
2. KEYVOX連携が「接続済み」か（ステップ1）
3. 該当ドアがKEYVOXダッシュボード側で有効か

### Q: 予約画面で「予約開始の○時間前までに予約が必要です」と出る

予約設定（ステップ5）の **予約リードタイム（min_advance_hours）** に到達していません。テスト時は十分先の日時で予約するか、リードタイムを一時的に短く設定してください。

### Q: 「本日から○日先までしか予約できません」と出る

予約設定（ステップ5）の **最長予約日数（max_advance_days）** を超えています。デフォルトは90日です。

### Q: Stripe連携完了したが「支払い方法が無効」エラーになる

Stripe Connect の Onboarding（本人確認・銀行口座登録）が未完了の可能性があります。Stripeダッシュボードで「アカウントの状態」を確認してください。

### Q: 設定を変更したのに予約画面に反映されない

ゲスト側のブラウザがキャッシュしている場合があります。シークレットウィンドウで開き直すか、ブラウザのリロードボタンを長押しして強制リロードしてください。

---

## サポート

このガイドの順に進めても解決しない場合は、 **どのステップで** **何が起きているか** （エラーメッセージのスクリーンショットがあれば添付）を添えてサポートまでご連絡ください。「設定が動かない」だけだと原因切り分けに時間がかかります。

---

## 関連ページ

### 各ステップの詳細
- ステップ1: [ロック接続（KEYVOX）](lock-connection.md)
- ステップ2: [ロック接続（Stripe）](lock-connection.md#stripe決済連携タブ)
- ステップ3: [基本設定](base-settings.md) / [連結部屋](connecting-rooms.md)
- ステップ4: [プラン一覧](plan-list.md) / [プランフォーム](plan-form.md) / [週次グリッド](hourly-week-grid-admin.md) / [時間帯別予約](timeslot-booking-admin.md)
- ステップ5: [予約管理](booking.md) / [予約設定フォーム](reservation.md)
- ステップ6: [外部連携ハブ](external-integrations.md) / [Googleカレンダー連携](google-calendar-integration.md)
- ステップ7: [チェックイン設定](checkin-config-form.md)
- ステップ8: [フォーム管理](forms.md)
- ステップ9: [iCal連携](ical-config.md) / [ゲスト予約アプリ](reservation-guest.md) / [ゲストチェックイン](guest-checkin.md)

### 関連トピック
- [要対応: 予約衝突の解決](unassigned-reservations.md)
- [予約の修正](modify-reservation.md) / [延長](extend-reservation.md) / [早期チェックアウト](early-checkout.md)
- [LINE通知連携](line-notifications.md)
- [外部連携（サイトコントローラー / ねっぱん!）](integration.md)
