BlackOakMerchant

Merchant portal

24 screens · all planned

Every seller screen in the UI Atlas, grouped by domain. Each links to a data-driven placeholder that will be replaced in place when the screen ships.

Onboarding & storefront

Build & submit activation record; respond to Additional-Information-Required (mirrors the 10-state machine).
Edit Marketplace-only fields; Commerce-owned fields read-only.
Standardized storefront, slug, featured products - no custom HTML/theme.

Catalog

Own products with Active/Inactive listing-status toggle.
Product + variant fields, images, category-driven required fields; material edits return to review.
Upload/version COAs, safety, licences with type/expiry.
Bulk product upload/catalog/bulk-upload
Structured file upload with row-level validation results.

Services

Define/manage services and submit for approval.
Practitioners, qualifications, credential docs w/ expiry, service assignments.
Recurring windows + blackouts; conflict warnings over existing bookings.
Typed intake fields from a closed catalog; edits return the service to review.
View bookings, reassign practitioner, reschedule, mark Completed/NoShow.

Inventory, orders & fulfillment

Set/adjust on-hand with reason + history; guarded against below-reserved.
Low-stock view / alerts/inventory/low-stock
Low-stock threshold config and in-app view; alert delivery pending D-38.
Own suborders - accept, process, mark ready; acceptance-window flags.
Create shipments/packages, generate labels, partial shipment, recall-blocked lines.

Returns, delivery issues, reviews & commission

Approve/deny returns; mark received + restock decision.
Respond to delivery issues with a reason-coded resolution + evidence; Jira hidden. Named "delivery issues", not "disputes" or "cases" — card disputes are a BlackOak Commerce portal screen and a different object entirely.
One public response per review.
Licenses & attestations/compliance/licenses
Upload product licenses, credentials and attestations; receive renewal reminders. Distinct from "Compliance standing" in the Commerce portal (VAMP / ECM / Nacha network thresholds) — same word there, unrelated object.
Expected marketplace commission and net proceeds per suborder, from Commerce references — never settled funds. Settlement, payouts and reserve live in the BlackOak Commerce portal (its Settlements screen), which this screen links to for the authoritative figures.
Notification prefs & feed/settings/notifications
Per-alert preferences/channels (org; per-user pending D-05 identities) and in-app feed.

Practitioner (folded in)

Assigned bookings / intake view/practitioner/bookings
A practitioner-scoped view of their assigned bookings and intake responses (readable only by the assigned practitioner, MKT-SVC-028).
Booking reminders/practitioner/reminders
Practitioner booking confirmations and reminders (MKT-SVC-022) — primarily a notification channel; a screen here surfaces their delivery/preferences.