← SitemapWF-62 · Admin bookings and disputesPopdance wireframes · low-fidelity · numbered markers match the notes at the bottom
URL/admin/bookings
AudienceAdmin (Support, Finance, Super admin)
TemplateApp screen
PriorityLaunch (P1)
🔔 3✉ Messages
 

Bookings & disputes 1

Example data

All bookingsDisputes (7)Refund requests (3)Flagged (3)
Search ref, customer, teacher or email
Status: Any
Payment: Any
Category: Any
Event date: Last 30 days
Value: Any
Sort: Newest
2
RefCustomerTeacherCategoryEvent dateValueCommissionBooking statusFundsFlag
PD-20418H. WhitlockS. MarlowKids' party14 Nov£155.00£23.25ConfirmedHeldOpen
PD-20312Northgate LawD. FosterCorporate4 Nov£460.00£46.00Awaiting completionHeldOpen
PD-20276J. PryceA. KhanKids' party31 Oct£98.00£9.80DisputedFrozenSLA 2dCase
PD-20255L. MooreT. HargreavesWedding27 Oct£215.00£21.50CompletedReleasedOpen
PD-20101R. DunnM. TanHen party3 Oct£90.00£0.00CancelledRefundedOpen

Dispute case DSP-0112 on PD-20276 4

Open Raised by customer
Opened 29 Oct 08:14 · SLA due 31 Oct

Customer: Joanne Pryce · Teacher: Aisha Khan (Silver) · Service: Princess Disco Party, Basic · Paid: £98.00 on 12 Oct

PaidDelivered (teacher)Issue raisedMediationResolved

Reason (customer): Session ended after 25 of 45 minutes. Desired outcome: Partial refund.
Teacher response: Overran setup, parents asked to finish early. Photo evidence attached.

Customer photo
Teacher photo

Message log (read-only, from booking thread) 5

Customer, 11 Oct: Can you confirm you arrive 30 minutes early to set up?
Teacher, 11 Oct: Yes, no problem.
Customer, 31 Oct: She finished at 3.25pm, we paid for 45 minutes.
Teacher, 31 Oct: Doors were not open until 2.40pm.

Case notes and audit trail

Sam (Support), 29 Oct 10:02: Requested venue confirmation from customer.
System, 29 Oct 08:14: Funds frozen, release cancelled.

Add internal note

Resolution controls 6

Booking value £98.00 · Commission £9.80 · Held £98.00

Partial refund to customer
£30.00

Teacher receives £68.00 less commission £6.80 = £61.20. Commission on the refunded part is returned.

Service shorter than booked
Explain the decision in plain terms.
Confirm resolution
Release full amount to teacher
Refund customer in full
Escalate to Finance / Safeguarding

Support can refund up to £250. Above that, Finance approval is needed.

Data fields (for developers)

  • Booking ref, customer id, teacher id, service id, package, event start and end, value, commission
  • Funds state: held, released, paid, frozen, refunded
  • Dispute id, opened by, reason code, desired outcome, evidence files, SLA due date
  • Resolution outcome, refund amount, teacher net, reason code, decided by
  • Message thread id and attachment references
  • Audit log id for every change

Notes

  1. Page and tabs. Tabs are saved filters over one bookings table plus the dispute and refund-request queues. Access: Support (read, message, refunds up to the limit), Finance (all refunds and releases), Super admin. Moderators have no access.
  2. Filters. Free search across ref, names and emails; status (Requested, Offer sent, Awaiting payment, Confirmed, Awaiting completion, Completed, Cancelled, Disputed, Refunded), funds state (Held, Released, Paid, Frozen, Refunded), category, event date range, value band. Dense rows, 50 per page, column chooser, sticky header.
  3. Bulk actions. Add note, assign dispute owner, export. No bulk refunds or releases. Export respects the role (finance fields hidden for Support). Large exports run in the background and arrive by email.
  4. Dispute case view. Single case per booking. States: Open, Awaiting customer, Awaiting teacher, Under review, Resolved, Escalated. SLA clock: 3 working days from opening, pauses when waiting for a party. Customers must raise issues within 48 hours of completion; teacher responses are due within 48 hours. Funds are frozen automatically on opening so the scheduled release cannot run.
  5. Message log. Read-only extract of the booking thread, with timestamps and attachments, for evidence. Staff can message from the case; messages are labelled "Popdance Support" for both sides. Viewing is logged. Messages that contain off-platform payment requests are highlighted.
  6. Resolution controls. Outcomes: release in full to teacher, partial refund, full refund, goodwill credit. Shows the maths for teacher payout and commission before confirm. Confirmation dialog: "Refund £30.00 to the customer and release £61.20 to the teacher? This cannot be undone." Needs a reason code and message. Writes to the ledger, triggers the payments provider call and both parties' emails. Events: dispute_resolved, refund_issued.

Mobile

Desktop first. On narrow screens the table becomes cards with status and funds chips; the case page stacks evidence, message log and controls with a sticky Resolve bar.

States

Empty disputes tab: "No open disputes." Loading: skeleton table. Provider error on refund: "The payments provider did not accept this refund. Nothing has changed. Try again or contact Finance" and the case remains open. Concurrent edit: "Sam has updated this case. Reload to continue." Closed case: controls disabled, outcome summarised.