HQ dashboard → Service Sync (labeled "Service Sync" in the sidebar) is HQ's central catalog tool: create a service once, push it to every location, and let each shop adjust its own pricing from there.
How the catalog view works
The page groups every service across every shop by name + category, so "Ceramic Tint – Sedan" under Tint shows as one card no matter how many shops carry it. Each card shows:
- A coverage bar — how many of the org's shops carry this exact service (e.g. "3/5 shops"), with an "Incomplete" or "Synced" badge
- The price range across shops that already have it (a single price if they all match, a min–max range if they don't)
- Duration, taken from one of the shops that has it
- Which specific shops are still missing it (up to 2 listed, "+N more" beyond that)
Category tabs (Tint, PPF, Detail, Vinyl Wrap, Removal, Other) and a search box filter the grid. A summary strip across the top shows each shop's own coverage — what percentage of the org's distinct services that shop actually carries.
Pushing a new service
Push New Service opens a dialog: name, category, base price, and duration. Submitting creates that service in every shop in the org — "Each shop can adjust pricing afterward" is stated right on the dialog, and that's exactly what happens: this is a one-time push, not an ongoing sync, so a shop's price is theirs to change after the fact without HQ overwriting it again.
Flat glass isn't one of the pushable categories — it's priced per-square-foot through a separate flat-glass bid system, not this fixed-price-and-duration catalog.
Pushing an existing service to the shops missing it
On any card that isn't fully covered, Push to N shops sends that exact service only to the shops that don't already have it — matched on case-insensitive name and category, so a shop that already carries "Ceramic Tint – Sedan" under Tint is skipped rather than getting a duplicate or having its own price clobbered. The price and duration it seeds those new rows with is the median among the shops that already carry it, not zero or a placeholder, so a freshly-pushed row starts with a realistic number instead of quietly undercutting the shop until someone notices.
Who can push
Pushing (new or existing) requires org-admin access (ORG_OWNER or ORG_ADMIN) — any other org member who tries gets a "Couldn't push that service" error. Viewing the catalog page itself only requires org membership.
Related
Frequently asked questions
Q: What happens to a shop's existing price when HQ pushes a service?
A: Nothing — Service Sync only creates the service in shops that don't already carry a matching name-and-category service. A shop that already has it keeps its own price untouched.
Q: Can HQ push flat-glass pricing through Service Sync?
A: No. Flat glass is priced per-square-foot through a separate flat-glass bid system, not this fixed-price-and-duration catalog, so it's excluded from the pushable categories.
Q: What starting price does a newly pushed service get?
A: For a brand-new service, whatever price you type into the Push New Service dialog. For pushing an existing service to shops missing it, it's the median price and duration among the shops that already carry it.
Q: Who is allowed to push a service to the network?
A: Only an org admin (ORG_OWNER or ORG_ADMIN). Any other org member who tries gets a "Couldn't push that service" error.
Q: How can I tell which services aren't available at every location?
A: Each service card shows a coverage bar (like "3/5 shops") and an "Incomplete" badge; a card showing "Synced" means every shop in the org already carries it.
Q: Does pushing a service again update the price at shops that already have it?
A: No. A push only creates rows in shops missing that exact name-and-category combination — it never updates or duplicates a shop's existing row.