コンテンツにスキップ

提携店舗クーポン利用フロー

提携店舗クーポンは、提携店舗が事前にクーポン枠を購入し、ドライバーが駐車中に対象店舗のレシートを使って駐車料金の割引を受ける仕組みです。

関係者

関係者 利用画面 主な役割
運営 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 失敗時に適用を止める
  • 店舗や金額を判定できない場合、クーポンを適用しない。