<!-- https://unlockos.io/ja/manual/notification-workflow -->

# 通知ワークフロー ヘルプ

## 概要

**通知ワークフロー**は、予約に紐づく自動通知（ゲスト向け・オーナー向け）を施設側で管理できる機能です。「予約開始の24時間前にリマインダー」「承認待ちの予約が入ったらオーナーに通知」のような設定を、**アンカーイベント（いつ起きるか）＋オフセット（何分/時間ずらすか）＋チャネル（どの手段で送るか）** の組み合わせで表現します。

サイドバーの「🔔 通知ワークフロー」から `/notifications` を開きます。

---

## 4つのタブ

| タブ名 | 説明 |
|-------|------|
| ワークフロー | 通知の一覧・ON/OFF切り替え・編集・カスタム通知の追加 |
| メッセージ | 通知本文（件名・メール本文・SMS文面・音声スクリプト）を名前を付けて作成・編集・削除 |
| 履歴 | 過去7日〜未来1日の送信状況（待機/送信中/送信/失敗/キャンセル）と月次課金額 |
| チャネル | LINE / Email / SMS / Voice / スピーカーの接続状況カードと設定画面へのリンク |

---

## ワークフロータブ

### 標準（canonical）ワークフロー

全施設に **無効（enabled=false）** の状態で最初から用意されています。有効化はオーナーが個別に行います。標準ワークフローは削除できませんが、名前・アンカー・オフセット・チャネル・メッセージは編集できます（受信者だけは固定です）。

**ゲスト向け（4種類）**

| ワークフロー | いつ | 用途 |
|---|---|---|
| 予約前日リマインダー | 予約開始の24時間前 | 予約を忘れないように案内 |
| チェックイン案内 | 予約開始の10分前 | チェックイン方法を案内 |
| お片付け依頼 | 予約終了の5分前 | 退出前のお願い |
| ご利用ありがとうメッセージ | 予約終了時 | お礼メッセージ |

**施設管理者（オーナー）向け（6種類、詳細は次章）**

- 新規予約が入った
- 承認待ちの予約が入った
- 承認待ちが12時間放置されている（リマインダー）
- 決済が完了した
- 予約がキャンセルされた
- 予約が延長された

### 受信者（オーナー通知の設定方法）

編集モーダルの **「受信者」** ドロップダウンで「施設管理者」を選ぶと、その通知は予約者（ゲスト）ではなく施設のオーナーに届きます。一覧では対象の通知に「施設管理者」バッジが表示されます。

> **標準ワークフローは受信者を変更できません**（ドロップダウンが無効化されています）。標準の施設管理者向け6種類は最初から「施設管理者」に固定されています。受信者を選べるのは新規カスタムワークフローを作成するときだけです。

### 誰に届くか（宛先解決）

「施設管理者」宛の通知は、以下の順で解決した宛先**全員**に送られます。

1. その施設の **Facility Owner（施設オーナー）** 全員
2. Facility Owner が1人もいない場合は、所属組織の **Organization Owner（組織オーナー）** 全員
3. どちらもいない場合は配信失敗として記録されます（履歴タブで確認できます）

旧来の「施設管理者」担当者設定（`facility_manager_id`）は使われません。ログイン権限で使われているのと同じロールモデルで宛先が決まります。

### チャネル（オーナー通知は現状Email固定）

編集モーダルでチャネルを「自動選択」のままにしていても、**施設管理者向け通知は現状すべてEmail（Resendによる HTMLメール）で届きます**。ゲスト向け通知の「自動選択」はLINE連携済みのゲストならLINEに流れますが、オーナー宛の宛先解決はLINEアカウントを見に行かない設計のため、オーナー個人がLINE連携していてもLINEには届きません（今後のアップデートで対応予定）。

### アンカーイベント

ゲスト向け通知は「予約開始/終了の◯分前」のような**時刻**を起点にしますが、施設管理者向け通知は予約に**起きた出来事そのもの**を起点にします。

| アンカー | 発火するタイミング |
|---|---|
| 新規予約 | 予約が作成されたとき |
| 承認待ち | 承認制の予約が承認待ちの状態になったとき |
| 決済完了 | ゲストが決済して予約が確定したとき（下記の注意を参照） |
| キャンセル | 予約がキャンセルされたとき |
| 延長 | 予約の利用終了時刻が後ろ倒しされたとき |

> **「決済完了」は実際に決済された予約でのみ届きます。** 手動確定・無料プラン・会員プランなど、決済を伴わずに予約が確定したケースでは送られません。また、チェックイン時精算（後払い）の予約は、確定した時点ではまだ未決済のため、この通知の対象にはなりません。

### 承認リマインダーの自動キャンセル

「承認待ちが12時間放置されている」通知は、承認待ちになってから12時間後に届く設定です。その前にオーナー自身が承認または却下すると、このリマインダーは自動的にキャンセルされます。無駄な催促メールが届くことはありません。

### ワークフロー名

一覧・編集モーダル・履歴タブに出るのは **ワークフロー名** です。標準ワークフローには最初から名前が付いていますが、施設の呼び方に合わせて自由に変更できます（例:「チェックイン案内」→「入室のご案内」）。

内部の識別子は画面に出しません。新規作成時に自動で採番され、後から変わることはありません。

### カスタムワークフロー

標準以外に、施設独自の通知を追加できます。ワークフロー名、アンカーイベント、オフセット、チャネル、受信者、メッセージを自由に設定可能です。作成後は一覧から削除もできます（削除しても送信履歴は残ります）。

### メッセージの紐付け

編集モーダルの **「メッセージ」** ドロップダウンで、そのワークフローが送る本文を選びます。まだ 1 件もメッセージを作っていない場合は「利用できるメッセージがありません」と表示され、メッセージタブへのリンクが出ます。

**メッセージが未設定のワークフローは有効化できません。** 本文が無いまま有効化すると、受信者には何も届かないのに送信済みとして扱われてしまうためです。

---

## メッセージタブ

メッセージはカード形式で並びます。カードにはメッセージ名・紐づいているワークフロー（未割当なら「未割当」）・件名の抜粋・入力済みの言語が表示され、鉛筆アイコンで編集、進入禁止アイコンで削除できます。

「+ 新規メッセージ」から作成します。編集モーダルでは以下を設定します。

| 項目 | 説明 |
|---|---|
| メッセージ名 | 一覧やワークフローのドロップダウンに出る名前（必須） |
| ワークフロー | 紐づけるワークフロー。「未割当」のまま保存し、後から紐づけることもできます |
| 件名 / 本文 / SMS本文 / 音声スクリプト | チャネル別の本文。日本語・英語を切り替えて入力します |

プレビューでサンプル変数が展開された表示を確認できます。

### 1つのメッセージは1つのワークフローだけ

メッセージとワークフローは **1対1** です。紐付けはどちらの画面からでも設定できます。

- ワークフロー編集モーダルの「メッセージ」ドロップダウン
- メッセージ編集モーダルの「ワークフロー」ドロップダウン

既に別のワークフローに紐づいているメッセージを選ぶと、**確認モーダル**が出ます。そのまま進めると、元のワークフローはメッセージが未設定になり、自動的に無効化されます（本文が無いまま有効なワークフローを残さないためです）。

メッセージを削除した場合も同様に、紐づいていたワークフローは未設定・無効の状態になります。

### 使用できる変数

| 変数 | 内容 |
|---|---|
| `{{guest_name}}` | 予約者名 |
| `{{start_time}}` | 予約開始時刻（施設のタイムゾーンで整形） |
| `{{end_time}}` | 予約終了時刻（施設のタイムゾーンで整形） |
| `{{facility_name}}` | 施設名 |
| `{{room_name}}` | 部屋名 |
| `{{approval_url}}` | 承認画面へのリンク（**承認系のオーナー通知でのみ**使用） |

`{{approval_url}}` は「承認待ちの予約が入った」「承認待ちリマインダー」の2つの標準通知にのみ含まれています。ゲスト向け通知やその他のオーナー通知には含める必要はありません。

---

## 履歴タブ

過去7日〜未来1日分の送信状況を一覧表示します。状態（待機／送信中／送信／失敗／キャンセル）・発火時刻・ワークフロー名・チャネル・試行回数・課金額を確認できます。スマートフォンではカード表示に切り替わります。失敗した行にはエラーコードとヒントが表示されます。上部には当月の従量課金合計（SMS送信数・スピーカー再生回数など）がサマリ表示されます。

---

## チャネルタブ

チャネルがカード形式で並びます。各カードから該当チャネルの設定画面に移動できます。

| チャネル | 設定画面 | 課金 |
|---|---|---|
| LINE | LINE連携設定 | 無料 |
| Email | 基本設定（送信元アドレス確認） | 無料 |
| SMS | Twilio連携設定 | ¥25/セグメント（BYO契約なら顧客直課金） |
| Voice | Twilio連携設定 | ¥60/分（BYO契約可） |
| スピーカー | スピーカーチャネル管理（デバイスの登録） | ¥3/回 |
| Webhook | [Webhook通知チャネル](webhook-channel.md) | 無料 |

> スピーカーを**いつ鳴らすか**は、このページのワークフロータブで、**何を鳴らすか**（読み上げ原稿と音声生成）はメッセージタブで設定します。スピーカーチャネル管理の画面（`/notifications/channels/speaker`）で行うのはデバイスの登録のみです。

> **Webhookカードは施設が所属する組織で `notification_webhook_channel` フィーチャーフラグが有効な場合のみ表示されます。** LINE・Email・SMS・Voice・スピーカーと異なり、Webhookは「人に通知する」チャネルではなく外部システムへイベントを連携するチャネルです。詳しくは[Webhook通知チャネル](webhook-channel.md)を参照してください。

---

## 配信失敗が見えるようになりました

2026-08 に、鍵の配信が数日間にわたって失敗し続けていたのに誰も気づけない障害が発生しました。原因は、用意されていた複数の安全網が同じ送信経路を共有しており、揃って静かに失敗していたことです。この経験を踏まえ、配信失敗を早い段階で施設側に伝える仕組みを追加しました。

### 最初の1回の失敗で施設に通知が届きます

以前は「ゲストが再送を複数回試みたこと」を条件に施設への通知を送っていましたが、実際にはほとんどのゲストが1回試して届かないと諦めてしまい、通知が一度も送られないまま気づかれないケースがありました。現在は**最初の配信失敗の時点で**、上記の「誰に届くか（宛先解決）」と同じ順序（施設オーナー → 組織オーナー）で施設オーナー・スタッフにメールが届きます。同じ失敗について二重に届くことはありません。

> この仕組みは、このページの通知ワークフロー（予約リマインダーなど）だけでなく、買取の鍵SMS配信や電話番号認証のような、ワークフローを経由しない個別の送信にも適用されます。以前はこうした個別送信は失敗しても記録が一切残りませんでしたが、現在は成功・失敗を問わずすべての送信試行が内部的に記録されるようになりました（このページの履歴タブには表示されません）。

### 鍵の発行に失敗した理由が明確になりました

チェックイン時の鍵発行に失敗すると、ゲスト・会員に表示される案内文が原因ごとに変わるようになりました。原因によって取るべき行動が異なるためです。

| ゲスト・会員に表示される案内 | 原因 | 取るべき行動 |
|---|---|---|
| 施設側の設定により、鍵を発行できませんでした。恐れ入りますが、施設にお問い合わせください。 | KEYVOXのドアがロックに関連付けられていない（ユニットのロック割り当て不備） | 再試行しても解消しません。施設に連絡してください |
| 施設側の設定により、鍵を発行できませんでした。恐れ入りますが、施設にお問い合わせください。 | 施設のKEYVOX連携が切れている | 再試行しても解消しません。施設に連絡してください |
| 鍵を発行できませんでした。しばらく時間をおいて、もう一度お試しください。解決しない場合は施設にお問い合わせください。 | 一時的な通信障害の可能性 | 少し時間をおいて再試行してください |

上の表の上2つ（施設側の設定が原因のもの）が会員から報告された場合、施設オーナーは以下を確認してください。

- **「ドアがロックに関連付けられていない」場合**: 基本設定の「部屋・ロック」タブ →「ロック割り当て」で、該当ユニットに正しいKEYVOXロックが割り当てられているか確認する
- **「KEYVOX連携が切れている」場合**: [ロック接続](lock-connection.md) ページで「KEYVOXでログイン」から再連携する

### 鍵の発行が継続的に失敗している施設の検知

個々のチェックインでのエラー表示に加えて、ある施設で鍵の発行が繰り返し失敗している状態そのものも、プラットフォーム側で検知しています。継続的な失敗が検知された場合は、施設に連絡が届きます。

---

## よくある質問

### Q: LINE連携設定にある「管理者通知設定」と、この「施設管理者」向け通知は同じものですか？

A: **別の機能です。** LINE連携設定の「管理者通知設定」は、チェックイン/チェックアウト/決済失敗をLINEで管理者に知らせる従来からの機能です。一方、通知ワークフローの「施設管理者」向け通知は、新規予約・承認待ち・決済完了・キャンセル・延長といった**予約イベント**を対象にした新しい仕組みで、現状はEmailのみで届きます。両方を有効にしても通知が重複することはありません（対象イベントが異なります）。

### Q: 標準の施設管理者向け通知の受信者を「ゲスト」に変更できますか？

A: できません。標準（canonical）ワークフローは受信者・アンカーイベントの組み合わせが定義の一部になっているため固定です。ゲスト向けに似た通知を作りたい場合は、カスタムワークフローとして新規作成してください。

### Q: 施設にオーナーが誰もいない場合、通知はどうなりますか？

A: Facility OwnerもOrganization Ownerもいない施設では配信に失敗し、履歴タブに失敗として記録されます。まずはサポートにご連絡のうえ、施設オーナーまたは組織オーナーを設定してください。

### Q: 承認待ちリマインダーを止めたいのですが、無効化以外に方法はありますか？

A: 承認または却下すれば自動的にキャンセルされます。手動で止める必要はありません。今後届く通知自体を止めたい場合は、ワークフロー一覧でON/OFFを切り替えてください。

### Q: Webhookチャネルはどこで設定しますか？

A: 配送先（送信先URL・署名鍵）の登録はチャネルタブのWebhookカードから、どのイベントで送信するかはワークフロータブの編集画面でチャネルに「Webhook」を選んで設定します。詳しくは[Webhook通知チャネル](webhook-channel.md)を参照してください。

### Q: スピーカーで流すアナウンスの時刻はどこで設定しますか？

A: このページの**ワークフロータブ**です。「+ 新規ワークフロー」からチャネルに「スピーカー」を選び、対象デバイスを指定してください。読み上げ原稿と音声生成は**メッセージタブ**で、このワークフローに紐づくメッセージの音声スクリプト欄から行います（音声を生成すると自動的にこのワークフローに紐づきます）。スピーカーチャネル管理の画面（`/notifications/channels/speaker`）で行うのはデバイス登録だけです。

### Q: 予約がキャンセルされたら、予定されていたアナウンスは鳴りますか？

A: 鳴りません。予約をキャンセルした時点で、その予約に紐づく未配信のスピーカー通知は自動的に取り消されます。ただし、配信直後のごく短い時間にキャンセルした場合は、スピーカー本体に届いた音声が1回だけ再生されることがあります。

### Q: 通知チャネル（SMS・音声など）が急に使えなくなりました。原因は何ですか？

A: LINE・Email・SMS・Voiceの各チャネルは、フィーチャーフラグで組織単位に有効・無効を切り替えられます。無効化されているチャネル宛の送信はすべて失敗します。2026-08 には設定変更の影響でSMS配信が一時的に止まった事例がありましたが、既に復旧済みです。現在はこの「設定が原因で送信がブロックされている」状態をプラットフォーム側で自動検知する仕組みも追加されています。心当たりのない配信停止に気づいた場合は、念のためサポートにご連絡ください。

### Q: 「施設側の設定により、鍵を発行できませんでした」と会員から報告がありました

A: 本ページの「配信失敗が見えるようになりました」セクションの表を確認してください。原因はKEYVOXのロック割り当て不備、またはKEYVOX連携切れのいずれかです。会員が再試行しても解消しないため、施設側での確認が必要です。

---

## 関連ページ

- [LINE連携設定](line-connection.md)
- [LINE通知](line-notifications.md)
- [Webhook通知チャネル](webhook-channel.md)
- [スピーカー通知チャネル](space-speaker.md)
- [基本設定](base-settings.md)
- [ロック接続](lock-connection.md)
- [アクセスキー表示（QR・PIN・リモート解錠）](key-display.md)
- [予約管理](booking.md)
- [請求管理](billing.md)
