ReviewOS

stacks/smakelo

B3.2: Merchant portal (/partner)

#13
Open chris opened this 9 days ago ·
9 days ago

Part of #1. Aesthetic: stacks-design-minimalist. Business belongsTo Team; staff roles (owner/manager/kitchen) via gates.

Pages: onboarding (Stripe Connect Express link + status), menu editor with modifier groups, business hours editor, live orders board, delivery mode config (platform couriers vs self-delivery), tables manager + printable QR sheets, "review us" QR generator, tabs overview, earnings/statements.

9 days ago

Partly done. https://smakelo.stacksjs.com/partner now links into each merchant screen as one of the invented partners would see it: the menu, the orders board (#14), the printable table codes (#9), and tracking (#8).

What a portal proper still needs, and why it is not here yet: there are no merchant accounts, so every one of these screens is currently reachable by anybody who knows a slug. That is a demo decision rather than a design one - gating them would mean inventing a login for a business that does not exist - but it is the gap between this and a portal. Menu editing, hours editing and earnings statements are the other three.

9 days ago

Menu and hours editing shipped: /manage?business=nonna-pia.

Taking a dish off is not cosmetic. placeOrder already refused unavailable items, so the switch stops orders rather than only hiding a card. Verified in production: toggling one item dropped the public menu from 8 items to 7, and an order for it came back "Cacio e Pepe is not available right now."

Unavailable items stay listed in place rather than moving to a "hidden" section: a dish that came off at noon has to be easy to put back at six, and whoever looks for it will look where it was.

Hours are edited per day, with every day shown including the closed ones. An overnight close (18:00 to 02:00) is accepted rather than rejected, because a kitchen open until two is the normal case and not a typo. Turning off every way to order is refused, with the alternative named: close the day in your hours.

Still open on this issue: Stripe Connect onboarding (waits on test keys, see #12), a tabs overview, a "review us" QR, and real merchant accounts. Ownership is currently asserted by naming the business in the path rather than proven — every action already takes the business as its first argument, so adding accounts changes where that argument comes from and nothing else.

Already done elsewhere: the orders board (#14), table QR sheets (#9), earnings (#11), and review replies (#5).

Sign in to comment on this issue.