Skip to content

Vendors (Admin)

Vendors covers onboarding and lifecycle: list with inline store hooks, create full page, detail/edit. Tied to stores and zones for multi-tenant operations.


GoalsNon-goals
Register and maintain vendor accountsReplace contract/legal onboarding
Tie vendors to stores for operationsDocument payment settlement with acquirer

  • Routes: list, create, :id, :id/edit (see table).
  • Stat tiles may be partial—see list section for live vs placeholder.

  1. Create vendor → fill legal/business fields → save.
  2. Attach or verify stores from list inline actions.
  3. Assign or change a platform package from list actions.
  4. Open detail for audit trail and contacts.
  5. Check overview package card to confirm active package window.

  • KYB/PII — restrict exports; align with legal retention.
  • Offboarding: disable vendor + unlink stores per runbook.

IDScenarioExpected
VN1Create vendorAppears in list
VN2Inline store actionStore association updates
VN3Zone adminCannot see other zones
VN4Assign packageVendor gets new active platform package

PathPurpose
/dashboard/vendorsVendor list and inline store management
/dashboard/vendors/createCreate vendor (full page form)
/dashboard/vendors/:idVendor detail
/dashboard/vendors/:id/editEdit vendor
  • Search — debounced (400ms), pagination size 10.
  • Stats row — placeholder values () in the current UI for total / active / inactive / new (labels are i18n-backed).
  • Vendor modals — create/edit via VendorFormModal; delete via DeleteVendorModal.
  • Deep link?edit=<vendorId> opens the edit modal when the list loads.
  • Stores per vendorAdd / edit / delete store modals (AddStoreModal, EditStoreModal, DeleteStoreModal) for the selected vendor.
  • Package assignmentAssign package action opens a modal of active platform packages and calls PATCH /admin/vendors/:id/membership-package. If an open platform package exists, it is canceled and replaced.
  • Package block — Overview now shows the active package (name/code), effective window (starts_atends_at), and duration days.
  • Source APIGET /admin/vendors/:id/membership-package returns the current open platform package (or null if none).

Customer membership products (admin assist)

Section titled “Customer membership products (admin assist)”
  • GET /admin/vendors/:id/customer-membership-products — lists active vendor_customer audience membership products for picking membership lines on Admin → Orders → Create (optional store_id query narrows plans scoped to that store). Matches vendor POS membership-picker filtering.

Vendor accounts power which stores exist under a tenant; vendor staff use the separate vendor web app. Operational lifecycle (invite, suspend) follows your backend and business rules; the UI exposes list and CRUD affordances above.