<!-- https://unlockos.io/ja/manual/sms-verification -->

# SMS電話番号確認 ヘルプ

## 概要

SMS電話番号確認は、ゲストが入力した電話番号に実際にアクセスできることを、SMSで送る6桁のコードで確かめる機能です。

これは**ログイン機能ではありません**。確認に成功しても、ゲストにセッションやアカウントが発行されるわけではなく、ゲストは今までどおりログイン不要のまま予約・チェックインを続けられます。確認が成立すると記録されるのは「この電話番号は本人が受信できる番号である」という属性だけです。

この機能は**既定でOFF**です。SMSの送信には実費がかかるため、施設が送信元を明示的に設定し、必要な画面で確認を有効にしない限り、SMSは一切送信されません。

確認を求められる場面は3種類あり、それぞれ別々にON/OFFを切り替えます。

| 場面 | 設定する画面 | 対象 |
|------|------------|------|
| 予約時の電話欄 | プラン設定タブ → 予約設定の編集 | Booking画面のネイティブな電話番号入力欄 |
| フォームの携帯番号欄 | フォーム → フォームエディタ | 予約時・チェックイン時・会員申込時に表示されるフォームの「携帯番号」欄 |
| フロントデスクでの対面確認 | 予約詳細ドロワー | SMSが届かないゲストの当日の代替手段 |

いずれの設定も、施設がSMSの送信元（後述）を設定していない間は有効にできません。

---

## アクセス方法

- 送信元の設定：接続設定 → **外部連携** → 「SMS/音声通知連携 (Twilio)」、または直接 `/integrations/twilio-sms`
- 予約時の電話欄の確認：予約管理 → **プラン設定** タブ → 予約設定の新規作成・編集画面
- フォームの携帯番号欄の確認：**フォーム** → 対象フォームをクリック → フォームフィールド一覧
- フロントデスクでの対面確認：予約管理 → 予約カード → 予約詳細ドロワーの電話番号欄

---

## 詳細機能

## 機能1: SMS・音声の送信元を設定する

すべての設定の前提として、まず送信元を選ぶ必要があります。`/integrations/twilio-sms` を開くと、現在の送信元が「未設定」「自社Twilio」「UnlockOS」のいずれかで表示されます。

### 送信元の選択肢

| 選択肢 | 説明 | 費用 |
|-------|------|------|
| 自社のTwilioから送る（BYO） | 貴社のTwilioアカウントの認証情報（Account SID・Auth Token・送信元番号）を登録して送信 | 貴社のTwilio契約に直接請求。UnlockOSからの送信料はかかりません |
| UnlockOSから送る（プラットフォーム） | Twilioとの契約は不要。UnlockOSの回線から送信 | SMS ¥25 / セグメント、音声 ¥60 / 分。送信のたびにチャージ済みのクレジット残高から引き落とし |

「UnlockOSから送る」を選ぶ場合は、単価を明記した同意チェックボックスにチェックを入れてから確定します。同意なしには有効化できません。

「自社のTwilioから送る」を選ぶ場合は、Account SID・Auth Token・送信元番号（E.164形式の電話番号、または Messaging Service SID）を登録し、**接続テストに成功して初めて有効化**されます。テストが失敗しても、既に稼働中の接続には影響しません。

> 自社Twilioを選んでいる間、認証情報の不備で送信に失敗しても、UnlockOS側へは自動的に切り替わりません（意図しない請求を防ぐため）。送信は失敗し、履歴に理由が残ります。

### 送信元の切り替え・停止

- 「UnlockOSから送る方式に切り替える」「自社Twilioから送る方式に切り替える」ボタンでいつでも変更できます
- 自社Twilio利用中は「接続テスト」ボタンで疎通確認ができます
- 「SMS送信を停止する」を押すと、以下がまとめてOFFになります（件数を確認したうえで実行されます）:
  - 電話番号のSMS確認が「必須」だった場合、「必須」→「未確認でも可」に戻る（ゲストは確認なしで進めるようになります）
  - チャネルを「SMS」または「音声」に指定した通知ワークフローが無効化される
  - 送信待ちのSMS通知はキャンセル扱いになる
  - チャネル「自動」のワークフローは有効のまま（メールやLINEでの配信に切り替わる）

> **停止して解除した設定は、送信元を再設定しても自動では戻りません。** 再度ONにする必要があります。

---

## 機能2: 予約時の電話番号を確認必須にする

Booking画面でゲストが直接入力する電話欄（フォームに紐付いた携帯番号欄とは別）を確認必須にするには、予約設定（プラン設定タブ）の編集画面にある **「電話番号のSMS確認を必須にする」** チェックボックスを使います。

- 送信元が未設定の間、このチェックボックスは操作できません（「先にSMSの送信元を設定してください」という案内が表示されます）
- 有効にすると、「予約時に電話番号をSMSで確認します。届かないゲストは予約できません（施設の連絡先を案内）。送信は有料です。」という説明が併記されます
- この設定は予約設定（1つの予約受付URL）ごとの単位です。複数の予約設定を運用している施設は、確認を求めたい設定ごとに個別に有効化してください

詳しい設定画面の説明は [予約管理ダッシュボードのヘルプ](booking.md) を参照してください。

---

## 機能3: フォームの携帯番号欄を確認必須にする

予約時・チェックイン時・会員申込時に表示されるフォームの「携帯番号」欄（既定フィールド、または `電話番号` タイプで作成したカスタムフィールド）には、フィールド単位でSMS確認を設定できます。同じフォーム定義が予約時に出ようとチェックイン時に出ようと、この設定はフィールドに紐づくため一律に効きます。

設定は **フォーム → 対象フォームを開く → フォームフィールド一覧** で行います。対象の行に「SMS認証」というバッジ（トグル）が表示されます。

### 設定できる条件

| 条件 | 説明 |
|------|------|
| 電話番号タイプの欄であること | 「携帯番号」など、タイプが電話番号系の欄にのみバッジが表示されます（一度ONにした欄は、後でタイプを変えてもバッジは表示され続けます） |
| その欄が「必須」であること | 任意（未入力可）の欄には設定できません。任意のままだと欄を空白で送信でき、確認が意味をなさないためです |
| 送信元が設定済みであること | 未設定の間はトグルを操作できず、案内メッセージとフォーム設定画面へのリンクが表示されます |

> 既定の「携帯番号」欄（旧名称「電話番号」）は、SMS確認に対応させるためラベルとタイプが更新されています。詳しくは [フォーム管理のヘルプ](forms.md) を参照してください。

会員申込フォームも同じフォームの仕組みで作られているため、このフィールド単位の設定は会員申込フォームの携帯番号欄にも同様に適用されます。

---

## 機能4: ゲストが確認する流れ

確認が必須の欄では、電話番号入力欄のすぐ下に確認用の操作が表示されます。

1. 電話番号を入力すると「SMSで確認する」ボタンが押せるようになります
2. ボタンを押すと6桁のコードがSMSで送信され、コード入力欄と「確認」ボタンが表示されます。「〇〇〇-〇〇〇〇-△△△△ に送信しました」のように、送信先の番号（下4桁以外は伏せ字）が表示されます
3. 届いたコードを入力して「確認」を押すと、「✓ 確認済み」の表示に切り替わります
4. 確認済みになると入力欄は読み取り専用になります。番号を直したい場合は「変更」リンクで一時的にロックを解除できます（番号を実際に書き換えるまでは確認済みの状態は保持されます）

### 再送・有効期限

| 項目 | 内容 |
|------|------|
| コードの桁数 | 6桁 |
| 有効期限 | 発行から10分 |
| 再送までの待ち時間 | 60秒（それまでは「再送まで◯◯」とカウントダウン表示） |
| 1回のコードあたりの照合試行回数 | 5回まで |

### 送信できないとき

「SMSで確認する」を押しても送信自体に失敗した場合は、エラーメッセージとあわせて施設の連絡先（電話番号・メールアドレス、設定されている場合）が表示されます。**音声通話による確認は現時点では提供されていません。** SMSがどうしても届かない場合は、表示された連絡先から施設へ直接お問い合わせください。

---

## 機能5: フロントデスクでの対面確認（未確認ゲストの代替手段）

SMSが届かないゲスト（電波の届かない場所にいる、番号を変更した、海外SIMを使っている等）のために、対面で本人確認できた場合にスタッフがSMSを使わずに確認済みにできる操作があります。

**場所：** 予約管理 → 予約カードをクリック → 予約詳細ドロワーの電話番号欄

まだ確認されていない番号が入力されている予約では、電話番号欄の下に「フロントで確認済みにする」というリンクが表示されます（新規作成中の予約や、番号が入力されていない場合は表示されません）。

1. 「フロントで確認済みにする」をクリックすると確認メッセージが展開されます
2. 「SMSを通さずに◯◯◯-◯◯◯◯-△△△△ を確認済みにします。対面などで本人の番号だと確認できた場合にだけ使ってください。誰が実行したかは記録されます。」という注意文が表示されます
3. 「確認済みにする」を押すと即座に反映され、電話番号欄の隣に「✓ SMS確認済み」バッジが表示されます

> **この操作は誰が実行したか記録されます。** SMSを経由せずに確認済みの属性を作る操作のため、実行前に必ず本人確認（免許証の提示など）を行ってから使用してください。

---

## 機能6: オーナー画面での確認状況の見え方

予約詳細ドロワーの電話番号欄には、確認済みの場合のみ「✓ SMS確認済み」という緑色のバッジが表示されます（未確認の欄には何も表示されません）。バッジにカーソルを合わせると、確認日時が表示されます。

> 電話番号は「090-1234-5678」のような表記のゆれがあります。入力欄の文字列と、確認時に使われた番号の表記が食い違う場合（全角文字が混ざっている等）は、バッジの横に実際に確認が成立した番号がカッコ書きで表示されます。

### 確認済みの状態が保持される範囲（現状）

- 確認は**施設ごと・電話番号ごと**に保持されます。同じ番号であれば、別のゲストが同じ予約や別の予約でその番号を入力しても、その施設内では確認済みとして扱われます（家族や同行者で番号を共有しているケースを想定した挙動です）
- **施設をまたいだ確認の引き継ぎは、現時点では行われません。** 別の施設では、以前どこかで確認済みの番号であっても、あらためてSMS確認が必要です
- 確認済みの状態に有効期限はありません（施設内で確認済みになった番号は、そのままの状態が続きます）

---

## 料金

「UnlockOSから送る」を選んでいる施設では、確認コードのSMS送信もチェックインと同じプリペイド残高から引き落とされます。取引履歴には「SMS・音声利用」として、チェックイン利用分とは別の行で記録されます。単価や残高がゼロになったときの扱いは[請求管理のヘルプ](billing.md)を参照してください。

「自社のTwilioから送る」を選んでいる施設は、UnlockOSからの請求は発生しません（貴社のTwilio契約に直接請求されます）。

---

## トラブルシューティング

### Q: 「SMS認証をする」のトグルが押せません

A: 以下のいずれかが原因です。

- 送信元（Twilio）が未設定 — 案内リンクから `/integrations/twilio-sms` を開いて設定してください
- その欄が「必須」になっていない — 必須トグルを先にONにしてください（任意の欄には設定できません）
- その欄が電話番号タイプではない — 電話番号タイプの欄にのみ設定できます

### Q: 予約設定の「電話番号のSMS確認を必須にする」がグレーアウトしています

A: 送信元が未設定です。まずアプリ連携の「SMS/音声通知連携」から送信元を設定してください。

### Q: ゲストからSMSが届かないと連絡がありました

A: まず送信元の設定（自社Twilioの場合は接続テスト）が正しいか確認してください。番号の形式（国番号・市外局番の抜け漏れ）も確認対象です。それでも解決しない場合は、対面で本人確認したうえで「フロントで確認済みにする」を使ってください。

### Q: 確認コードの入力でエラーになります

A: コードの有効期限は発行から10分、照合できる回数は1回のコードにつき5回までです。時間切れ・試行回数超過の場合は「再送」から新しいコードを取り直してください。

### Q: 番号を間違えて送信してしまいました

A: 確認前であれば、電話番号欄を書き換えれば新しい番号宛にコードを送り直せます。確認済みの状態からやり直したい場合は「変更」リンクで入力欄のロックを解除してから番号を修正してください。

### Q: 短時間に何度も送信しようとするとエラーになります

A: 同じ番号への再送は60秒間隔、同じ番号への発行は1日5回まで、施設全体では1時間に100件までという制限があります。SMSは送信のたびに実費が発生するため、乱用や誤操作による過剰送信を防ぐための制限です。

### Q: SMS送信を停止したら、確認済みの必須設定が消えました

A: 仕様どおりの動作です。送信元をOFFにすると、電話番号確認が必須だった予約設定は自動的に「未確認でも可」に戻ります。再度必須にしたい場合は、送信元を設定し直したうえで、各予約設定・各フォームフィールドで個別に再設定してください（自動では戻りません）。

---

## 関連ページ

- [予約管理ダッシュボード（予約設定の電話確認）](booking.md)
- [フォーム管理（フィールド単位のSMS確認）](forms.md)
- [予約作成・編集（フロントデスクでの対面確認）](reservation.md)
- [外部連携](external-integrations.md)
- [請求管理（SMS・音声利用の課金）](billing.md)
