Home / Focused PRD

PRD 07 — Staff & Admin Operations

Status: Business review closed on 2026-09-02. Implementation intentionally deferred.

Goal

Give authorized staff the minimum workspace needed to verify payment, operate bookings, and maintain the schedule and holidays. The launch is single-tenant with a small staff: one Superadmin, at least one Admin, and one psychologist (Fuja Rahayu Kinanti). All operational work happens on the Admin dashboard, and staff identity is verified through Google SSO.

Roles

The Client role is covered in PRD 01 and PRD 06.

Bootstrap

Session and access

Access matrix

Capability Superadmin Admin Psychologist
Verify or reject payment Yes Yes No
Record or upload payment evidence Yes Yes No
Approve or reject cancellation/refund Yes Yes No
Refund execution and refund evidence Yes Yes No
Mark a date or slot as withdrawn, with public reason Yes Yes No
Maintain holiday and recurring-exception calendar Yes Yes No
Manage staff membership and roles Yes No No
Read full client profile Yes Yes No (scoped to operational fields)
Read psychologist-shared fields for a confirmed booking Yes Yes Yes (own bookings only)
Read full payment evidence detail for any booking Yes Yes No
Read audit log Yes Yes No (own action audit only)

Admin dashboard

All operational work happens on the Admin dashboard, surfaced as separate queues. Each queue shows the data Admin needs and a clear primary action.

Payment verification queue

Cancellation/refund queue

Schedule and holiday calendar

Booking and client queue

Staff and role management

Operational procedures

Verify or reject a payment

  1. Admin receives the proof through Admin WhatsApp from the client.
  2. Admin opens the payment verification queue and selects the booking.
  3. Admin records the proof metadata and uploads the screenshot or text reference.
  4. Admin checks the bank account or QRIS history for the matching transfer.
  5. Admin clicks Verify or Reject, with a short reason.
  6. The system updates the booking and the payment proof atomically. The verified invoice is generated by PRD 02 at this point.
  7. Admin contacts the client through Admin WhatsApp to confirm the outcome.

Underpayment

  1. Admin sees the difference between the booking amount and the transfer amount.
  2. Admin contacts the client through Admin WhatsApp and records the top-up request.
  3. The booking remains in pending_manual_payment (or a parallel admin state if added later). The slot hold may be extended at Admin’s discretion.
  4. When the top-up is received, Admin re-runs the verification step.

Overpayment

  1. Admin contacts the client through Admin WhatsApp to inform them of the overpayment and the returned amount.
  2. Admin returns the difference to the client through the agreed manual channel.
  3. Admin records the return in the payment proof notes and uploads the transfer proof.
  4. The booking can be confirmed for the full service price; the refund is logged as a separate RefundAction later.

Cancellation

  1. Admin receives the cancellation request through Admin WhatsApp.
  2. Admin uploads the WhatsApp screenshot evidence and records the request in the queue.
  3. Admin decides approved or rejected, with a short reason.
  4. On approved, the booking is closed and the slot/capacity is released or rolled back per the cancellation matrix. On rejected, the booking remains confirmed with a reason recorded.

Refund execution

  1. Admin records the chosen refund outcome (full_refund or no_refund) in the queue.
  2. For full_refund, Admin returns the money through the agreed manual channel.
  3. Admin uploads the transfer proof and the booking moves to refund_completed. If the transfer fails, Admin moves the booking to refund_failed and retries.

Holiday and exception management

  1. Admin opens the schedule and holiday calendar.
  2. Admin marks closed days (one-off or recurring) and adds a short internal reason.
  3. Admin can mark individual slots as withdrawn.
  4. The same calendar view is exposed to the Superadmin, and the Superadmin can override.

Staff onboarding and offboarding

  1. Superadmin invites a new staff member by their verified Google account email.
  2. The new staff member signs in with Google SSO and is bound to a StaffMembership row.
  3. Offboarding is initiated by the Superadmin by disabling the staff membership. The disabled staff loses access immediately; their audit history is retained.
  4. The Superadmin cannot disable itself. The system refuses the last-Admin removal and prompts for a replacement.

Service-level targets

The launch SLA for staff responses is:

The SLA is a target, not a hard contract. The system records the response timestamp in the audit trail; the operator uses the trail to review whether the SLA is being met.

Audit trail

Every privileged action records:

The audit trail is append-only. It is the source of truth for the SLA, for the cancellation/refund history, and for any internal review.

Acceptance checks

Still open for this PRD

References

Status

Business review closed. Implementation intentionally deferred.

The remaining items are technical security settings, operational templates, and implementation follow-ups; they do not reopen the role or workflow decisions.

Change log