Home / Focused PRD

PRD 02 — Payment Flow

Goal

MVP collects payment manually without a payment gateway. The system gives the client a clear invoice and gives Admin a controlled verification action.

Launch decision

Client flow

  1. Booking is created with pending_manual_payment.
  2. System generates a text invoice and a downloadable PDF invoice.
  3. Client receives a WhatsApp deep-link with booking ID, amount, expiry, and instructions.
  4. Client transfers money and sends proof to Admin.
  5. Client waits for Admin confirmation.

Admin flow

  1. Admin opens the payment queue.
  2. Admin records proof metadata: method, evidence URL/note, and booking.
  3. Admin verifies or rejects the proof.
  4. Verify atomically updates proof + booking; reject records the reason and closes the booking according to the accepted rule.
  5. Every privileged action is audited.

Data boundary

payment_proof is the launch payment record. It stores payment evidence metadata and verification status. It must not store unnecessary clinical content.

Acceptance checks

Later option

Midtrans remains a separate future adapter/decision. Do not mix gateway assumptions into this MVP flow.

References