Dispatch overview¶
More work than you can do yourself? Hand it to your own helpers, or put it on the public board and let the community apply. This page walks the whole line first — from a job coming in to the money going out, who touches it, and who taps what. The private and public routes are spelled out on the pages after this one.
Two ways in: Collab in the bottom bar (every subcontract your stores sent out, plus the jobs you took on personally), and, per store, Me → More → Job assignment (dispatch to helpers).
The main line: five steps¶
| Step | What happens | Who taps |
|---|---|---|
| ① Job comes in | A customer submits on your storefront and it lands in the 🆕 Self-orders inbox; or you record it yourself; or you use Say it, we'll record it / AI scheduling (recommended) · paste customer info / say it | Customer / you |
| ② Schedule it | On review, set the visit time and Assign to, then tap ✓ Pass · record + schedule. Jobs that skip review go straight on with + Add job | Owner |
| ③ Do it, or dispatch it | Drive out yourself; or, if you can't take it, tap 🤝 Subcontract on the job card (repair tickets say 🤝 Subcontract to a helper, cleaning tickets 🤝 Subcontract to helper) to open a dispatch | Owner |
| ④ Helper accepts and works | The helper taps ✓ Accept or Decline under 🤝 Invites to confirm; if the job has no agreed time, they put it on their own calendar from 📌 Jobs to schedule | Helper |
| ⑤ Done and settled | The helper taps ✓ Mark done (hourly jobs ask for Actual hours); you pay them off-platform, then tap Mark paid and both sides read ✓ Paid | Helper → owner |
The same button carries two English labels
Step ⑤ is ✓ Mark done on the Today, Schedule, Collab and Me lists, but the dispatch detail page labels that same button ✓ Mark complete. It is one action either way — in Chinese both read 「✓ 标记完成」. This guide calls it ✓ Mark done throughout.
Where the money shows
The dispatch page has a card only you can see — This job’s books: Revenue booked − Subcontract cost = Net. (Before the source job is recorded it says "Net {amount} (not booked yet, subcontract cost only)".) The helper's side has one card, Your job · Pay. In the app's own words: "Helpers only see their own amount, not the price of the job itself."
Two destinations¶
Bring people in with an invite code first, then set a price per person on the dispatch: Fixed price is one number for that person; ⏱ Hourly works out as "Pay per helper = base + rate × hours", with estimated hours prefilled from the job's own time window and editable. What each person gets is between you and them.
If nobody in your store can take it, put one Flat price on the same dispatch and tap Publish so people in the community can apply. When you tap ✓ Confirm on an applicant, they become a helper of your store — and only then do the full address and customer details unlock for them.
Both routes hang off the same dispatch. Asking your own people first and publishing only if nobody bites is the usual pattern.
One source job, one dispatch¶
A booking, a repair ticket or a cleaning ticket carries exactly one dispatch.
- Once a job has been dispatched, the 🤝 Subcontract button on the card is replaced by a chip — "🤝 Subcontract · recruiting · 1/2 staff ›" — which takes you back to that dispatch.
- Tapping the subcontract button again on a repair or cleaning ticket just redirects you to the dispatch that already exists. You never get a second one.
- Need one more pair of hands? Don't open another dispatch — use Add another on this one, or Publish it.
Status at a glance¶
The dispatch itself: three states¶
| State | What it means |
|---|---|
| Recruiting | Still looking. Reprice, Remove, Add another and Recruit from the public board exist only in this state |
| Full | Enough people accepted. Those four controls all disappear at once; only the wrap-up actions are left |
| Cancelled | A label only — the app has no "cancel this dispatch" button |
A person on a dispatch: nine states¶
The names below are exactly what the app shows.
| State | What it means | Who caused it | Where it can go next |
|---|---|---|---|
| Invited · awaiting reply | You offered it privately; no reply yet | Owner | Helper taps ✓ Accept → Accepted · in progress; taps Decline → Declined; you Remove → Removed; someone else fills the last slot → Position filled · not selected |
| Applied · awaiting confirm | Someone applied from the public board; waiting on you | Applicant | You ✓ Confirm → Accepted · in progress; you Decline → Application declined; they Withdraw application → Application withdrawn; slots fill up → Position filled · not selected |
| Accepted · in progress | Taken, price locked, work underway | Helper accepting / you confirming | Helper taps ✓ Mark done → Done |
| Done | Work finished, waiting to be paid | Helper | You tap Mark paid; both your row and the helper's card then read ✓ Paid |
| Declined | The helper said no | Helper | End of the line |
| Removed | You pulled the offer; they drop off the helper list | Owner | End of the line |
| Position filled · not selected | Someone else took the last slot first | Falls here once the slots are full | End of the line |
| Application withdrawn | The applicant pulled their own application | Applicant | End of the line |
| Application declined | You turned the application down | Owner | End of the line |
Two things that only exist in certain states
- Reprice / Remove appear only while the dispatch is Recruiting and that person is Invited · awaiting reply. The moment they accept, the reprice control is gone — accepting locks the price.
- Chat takes new messages only in Invited · awaiting reply, Accepted · in progress and Applied · awaiting confirm. In every other state you can read the history but not add to it.
Who owns which time¶
| Which time | Who can change it | What changes |
|---|---|---|
| The source job's time (visit date and slot on a booking or cleaning ticket) | Owner only | Helpers see your new time once their page reloads; the job detail also gains a line under 📝 Change log — "Order details changed · …" (the "order" there is this same source job) |
| The helper's own plan (set with 📅 Add to schedule) | The helper only — you have no control for this | In the app's words: "it only shows on your schedule page and never changes the other store's job" |
| When both exist | — | The source job's time wins. A job shown on the helper's plan carries a small (your plan) tag |
| Repair tickets | — | A repair ticket has no visit date or time field at all, so the helper's own plan is the only time this kind of job ever has |
| Actual hours on an hourly job | The helper enters Actual hours when marking it complete; you can still tap 🕐 Adjust hours any time before Mark paid | Pay is recalculated as base + rate × actual hours |
Helper jobs are not clash-checked
⚠ Clash only covers two jobs overlapping on the same vehicle or the same person inside your own store. Dispatching runs no check against the helper's calendar — they sort their own day out after accepting.