提携店舗クーポン利用フロー¶
提携店舗クーポンは、提携店舗が事前にクーポン枠を購入し、ドライバーが駐車中に対象店舗のレシートを使って駐車料金の割引を受ける仕組みです。
関係者¶
| 関係者 | 利用画面 | 主な役割 |
|---|---|---|
| 運営 | smooth-admin |
提携店舗、クーポンルール、クーポン枠を登録・管理する |
| 提携店舗 | Stripe Checkout | クーポン枠を購入し、来店者に駐車料金割引を提供する |
| ドライバー | smooth-pay |
駐車中に対象店舗のレシートを使ってクーポンを適用する |
| 駐車場オーナー | smooth-spot |
通常駐車売上と提携店舗クーポン枠の収益を確認する |
| backend | smooth-backend |
条件判定、割引予約、出庫時確定、Stripe Webhook 処理を行う |
全体像¶
全体の流れは、登録・支払い、クーポン適用、出庫・表示の 3 フェーズに分けて確認します。
図1: 登録・支払い¶
sequenceDiagram
autonumber
actor Admin as 運営
actor Store as 提携店舗
participant AdminApp as smooth-admin
participant Backend as smooth-backend
participant Stripe as Stripe
Admin->>AdminApp: 店舗・ルールを入力
AdminApp->>Backend: 店舗・ルールを保存
AdminApp->>Backend: クーポン枠を作成
Backend->>Stripe: 支払いリンクを作成
Admin->>Store: 支払いリンクを共有
Store->>Stripe: クーポン枠を支払う
Stripe->>Backend: 支払い完了Webhook
Backend->>Backend: クーポン枠を有効化
図2: クーポン適用¶
sequenceDiagram
autonumber
actor Driver as ドライバー
participant PayApp as smooth-pay
participant Backend as smooth-backend
Driver->>PayApp: 駐車中画面を開く
PayApp->>Backend: 利用候補を取得
Backend-->>PayApp: 条件と残高を返す
Driver->>PayApp: レシートを送信
PayApp->>Backend: クーポン適用を申請
Backend->>Backend: 店舗・金額を判定
Backend->>Backend: 割引を予約
Backend-->>PayApp: 適用結果を返す
図3: 出庫・表示¶
sequenceDiagram
autonumber
actor Driver as ドライバー
actor Owner as オーナー
participant SpotApp as smooth-spot
participant Backend as smooth-backend
participant Stripe as Stripe
Driver->>Backend: 出庫を実行
Backend->>Backend: 駐車料金を計算
Backend->>Backend: クーポン割引を確定
alt 支払あり
Backend->>Stripe: 駐車料金を決済
Stripe->>Backend: 決済完了Webhook
else 0円
Backend->>Backend: 決済をスキップ
end
Owner->>SpotApp: 入金履歴を開く
SpotApp->>Backend: 収益情報を取得
提携店舗クーポンでできること¶
運営¶
提携店舗を登録
smooth-adminで店舗名、店舗コード、連絡先を登録できる。- 対象駐車場を紐づけて、クーポン適用先を管理できる。
クーポン利用条件を設定
- 最低購入金額、割引種別、割引上限をルールとして登録できる。
- 有効期間、駐車時間上限を指定できる。
クーポン枠を販売
- 提携店舗、駐車場、金額、ルールを指定してクーポン枠を作成できる。
- Stripe の支払いリンクを発行し、店舗へ共有できる。
クーポン枠を一時停止
- クーポン枠の利用状態を停止できる。
- 停止中のクーポン枠は、ユーザー側で新規適用できない。
提携店舗¶
クーポン枠を購入
- 運営から共有された Stripe 支払いリンクでクーポン枠を購入できる。
クーポン枠を有効化
- Stripe Webhook が成功すると、購入したクーポン枠が有効化される。
- Webhook が失敗している場合は、運営側で確認できる。
クーポン枠の利用先を確認
- 対象店舗のレシートを持つドライバーの駐車料金割引として消化される。
ドライバー¶
駐車中にクーポンを適用
smooth-payの駐車中画面で、利用可能なクーポンを確認できる。- レシートを送信して、駐車料金への割引を予約できる。
利用可能なレシート条件を判定
- 対象店舗、購入金額、購入日時、有効期間を判定できる。
- 条件を満たすレシートだけをクーポン適用対象にできる。
出庫時に割引を確定
- レシート送信時点では割引予約として扱う。
- 出庫時の駐車料金と駐車時間をもとに、最終的な割引額を確定する。
0円精算
- 割引後の支払額が 0 円の場合、駐車料金の Stripe 決済を発生させない。
- クーポン利用実績は出庫処理で確定する。
駐車場オーナー¶
クーポン分の収益を確認
smooth-spotの/deposit-historyで提携店舗クーポン枠の購入額を確認できる。- 利用額、利用可能額を確認できる。
通常の駐車売上と分けて確認
- 入金履歴で、通常駐車売上と提携店舗クーポン枠を別の集計として確認できる。
表示条件を確認
- 画面の日付範囲に、クーポン枠の購入日が含まれているか確認できる。
- 対象の支払い日が日付範囲に含まれているか確認できる。
運用・システム¶
ユーザーにクーポンを表示
- 店舗、ルール、クーポン枠が有効な場合に表示対象にできる。
- 対象駐車場、有効期間、残高の条件を満たす場合にユーザーへ表示できる。
Stripe Webhook でクーポン枠を有効化
- クーポン枠の支払い完了を受け取れる。
- 枠の有効化と Stripe 手数料実績の保存に使える。
OCR 失敗時に適用を止める
- 店舗や金額を判定できない場合、クーポンを適用しない。