Moving a match is an async conversation between two captains and HKPL. So each match that needs moving gets one thread (a chat). People talk, someone suggests a date, and the match moves once everyone taps Agree. No turns, no “who goes first.”
Same thread, same machinery — the only difference is whether it starts with a date. (That’s why they used to feel identical.)
If HKPL (or a captain) taps Disagree, they suggest a different date — a new date card drops in, and everyone taps again. Repeat until one date has all three ticks.
| When | Who hears about it |
|---|---|
| Someone suggests / changes a date | The other two (🔔 “a date needs your OK”) |
| Someone agrees or disagrees | The other two |
| All three agreed | Both captains — “Match moved to <date>” |
| Nothing agreed & someone needs it moved | Any captain can tap “Ask HKPL to decide” → HKPL named on the thread (no auto-timer — self-regulated) |
| One captain goes quiet | HKPL names a date — all-3 rule still satisfied (HKPL + the responsive captain, HKPL decides). |
| Past the play-by deadline | HKPL must be the one to set the date (captains can’t self-agree beyond the deadline). |
| Already scored / in progress | Can’t reschedule — registrar correction instead (existing rule). |
| Agreed in person on the spot | Any of them suggests the date, the others tap Agree — same flow, just fast. |
| Weather / typhoon | Untouched — HKPL/system sets POSTPONED, no negotiation. |
Match request record (the state), DM/chat + 🔔 notifications, and the division-rep role — all already exist. New work = the one button + chooser, the date-card in the thread with Agree/Disagree, and the “moves when all 3 agree” rule.