Skip to content

# Issue O3 — Refund, waive, and replacement #261

Open

Description

@owlstonbusiness-svg

Issue O3 — Refund, waive, and replacement

Summary

The only money movements after the invoice. Each one is audited.

Refund

  • Before the phone is revealed: full refund. Phone stays hidden.
  • After the phone is revealed: refund only if the intro did not happen. Staff hide the phone again.

Waive

  • Staff waive with a reason. No phone reveal. The case closes.

Replacement

  • Staff close the old case as replaced and open a new case. The new case has its own fee.
  • A failed first match is a waive, not a second invoice, unless the first fee was collected.

Acceptance

  • A refund stores actor, amount, and reason.
  • A replaced case cannot be marked paid.

Parent-facing rematch / replace promise (CEO 2026-11-04)

Desk-operated only. Cap.57-safe. MUST NOT add automatic Stripe refunds or change tutor-pays 1.5 / short-case SoT.

Ops rule (staff)

  • When fit fails after intro / early lessons (ghosting, clear mismatch, safety concern), staff rematch or replace via the existing Replacement path above: close old case as replaced → open new case with its own fee rules (failed first match = waive unless first fee already collected).
  • Rematch is a desk promise, not a self-serve fee engine.

Loud Guide / Account Help line (ship with handbook / Help)

  • EN: We help rematch if it is not working.
  • 繁中: 如果唔啱,我哋可以幫你重新配對。
  • Place under Account → Help / Guide (parent) and internal SOP — not a Stripe UI.

Trust loop

  • After a low parent→tutor rating, soft-point here from #649 (post-match ratings). Ratings do not auto-trigger refunds.

Acceptance (add)

  • Guide/Help shows the rematch line (EN + 繁中).
  • Staff SOP points here + #335 for when to replace vs waive.
  • MUST NOT automate Stripe refunds for “bad fit.”
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions