The Sales door is where work in flight lives. Three tabs: Orders (the board and the list) · Order links (every link-based way to take an order) · Customer journey (the messages your buyers get).
Two more surfaces belong to this world but sit elsewhere: Availability (your hours and slots) and Delivery, both under Settings — the Sales door lights up for them because they're part of selling. And Schedule is its own door once you take bookings.
Nothing in this chapter is plan-gated. Every gate here is a platform flag, a workspace setting, or simply whether you've set something up yet — Free and Pro get the same board, the same links, the same delivery, the same slots.
If you only read one thing, read the order lifecycle. It explains the single thing merchants most often think is a bug: there is no "cancel" on a paid order.
The orders board
The problem — "What's in flight, and what do I do next?" — answered at a glance, without opening a single order. A list sorted by newest tells you what arrived. It doesn't tell you what to do.
Where — Sales (this is what opens when you tap Sales)
What you'll see
Four columns, left to right, in the order work actually moves:
| Column | Under it | What's in it |
|---|---|---|
| Awaiting payment | Money not in yet | Arrived, or quoted — either way, unpaid |
| To make | Paid · queued | The money landed. Nothing's started |
| Making | In production | You're on it |
| Ready | Hand off | Made, waiting for the customer |
Each column header carries a count and the money sitting in it. Each card shows the order reference, the customer, the total, one payment badge, and one button — the next step, in your words. Cards are lean on purpose: the column already tells you the stage, so the card doesn't repeat it.
Set it up
- Tap Sales. You land on the board — it's the default view, not the list.
- Read it left to right.
- Tap the button on any card to move it forward.
- Tap anywhere else on the card to open the order.
- Finished orders aren't here — use Closed orders → or search.
Free and Pro
Details worth knowing
- The columns are not a mirror of the internal statuses. Orders that just arrived and orders you've quoted both sit in Awaiting payment, because to you they're the same job: get this paid. What differs shows up as the button's wording — "Send a quote" vs "Send payment link" vs "Mark as paid" — and in the payment badge beside it.
- The board is the live pipeline only. Completed, cancelled and refunded orders are deliberately absent. That's what the list's Closed tab is for.
- Search here searches the whole pipeline, not just the cards on screen. It runs on the server and means exactly what it means on the list: order number, name, email or phone.
- A due-date chip appears only when it's close — "Make by today", "Make by Fri", or a red Overdue. Further out than two days it stays quiet rather than crying wolf.
- The board caps at 400 live orders. It's a daily cockpit, not an archive. If you ever hit that, the list and search still see everything.
Works with — Tap to advance, The order list
Tap to advance
The problem — You shouldn't have to learn a status model to run your shop. Every card shows the one next thing to do, in the language of what you actually sell.
Where — Every board card, and the order page's status card
What you'll see
One rule writes the button on the board, the amber "→ next step" link on the list, and the big button on the order page — so the three can never disagree about what you should do next.
The button says what your product needs
| Your product | When paid | When in production |
|---|---|---|
| Physical / food | Start making it | Mark as ready |
| A booked service | Confirm booking | Mark as done |
| A download | "Delivered automatically" — nothing to do | Mark as fulfilled |
| An event ticket | "Ticket confirmed" — nothing to do | Mark as fulfilled |
Free and Pro
Details worth knowing
- Downloads and tickets are fulfilled the moment the buyer pays. They already have the file or the ticket, so there's no "start making it" to press — the card reads "The buyer can download from their order page — nothing to do here." You can still walk one through by hand if you want to; nobody stops you.
- Not every button is a status change. On an unpaid order the button is a signpost: it opens the order and scrolls to the quote panel or the PayNow panel, highlighting it for a second so you can see where you landed.
- "Waiting for payment" isn't a button at all. A storefront order paying by card is waiting on the customer, not on you, so the card just says so.
- Starting production closes a door on your customer. The order page tells you before you press: "Once you start, customers can no longer request to cancel through chat."
Works with — The order lifecycle, Customer journey messages
The order list
The problem — A board can't search, can't filter, and can't show you the archive.
Where
What you'll see
It opens on Action needed — not "All". The tabs carry live counts, so you can triage from the tab strip alone: Action needed · N · All · N · Closed · N (+ Upcoming · N if you take bookings). Your Revenue · 7 days sits in the header.
On a phone you get cards; on a desktop, a table with Order · Customer · Total · Status · When. The Status cell carries two badges — a solid one for the money (Paid, Unpaid, Quote sent, PayNow pending, Part refund, Disputed) and an outlined one for the making (New, To make, Making, Ready, Done). Two questions, two badges, one column.
Set it up
- Toggle to List.
- Pick a tab, or search by order number, name, email or phone.
- Tap the amber → Send a quote (or whatever it says) to go straight to the thing to do.
- Load more pages through 30 at a time.
Free and Pro
Details worth knowing
- Disputes float to the top, then anything needing you, then everything else — and within each band, newest first. This re-sort only happens on the first page, and never inside the Action needed tab, where it would be meaningless.
- A big spender badge is measured against your shop, not a dollar figure someone picked. The bar is three times what your typical paying customer has ever spent with you — and it stays quiet until you have at least four paying customers, because an "average" drawn from two people would flag everyone.
- "Action needed" is honest about what it excludes. A storefront order waiting on a card payment isn't waiting on you, so it isn't in there. A PayNow or bank-transfer order at the same stage is, because somebody has to confirm the money landed.
- At most one urgency chip per row. The due-date cue wins; failing that, the top risk flag. Payment-state chips would just repeat the Status column, so they're suppressed.
Common problems
| What you see | What's happening |
|---|---|
| An order says Quote instead of a number | Order numbers are issued at payment. Before that it's a quote. |
| AI-verified, requires confirmation | The screenshot checked out — it's still waiting on your one tap. |
| The list is empty but you have orders | You're on Action needed and nothing needs you. Tap All. |
Works with — The orders board, Upcoming work
The order page
The problem — Everything about one order, in one place, before you commit to making it.
Where
What you'll see
Warnings first, if there are any: a red Payment disputed banner, and an amber ⚠ Worth a look before you commit. Then one Order status card that folds together the progress stepper your buyer sees, an AI summary, and the single next step — so you read one band, not three.
Below that, only the cards this order actually needs:
| Card | What it gives you |
|---|---|
| Order status | The stepper, an AI summary, and the one next step |
| How they get it | Pickup, delivery, booking, event or download — worked out for you |
| Customer | Returning or new, lifetime value, potential value, churn band |
| Items | Photos, per-line details, delivery, tip, total |
| Quote | Price a form order and send it |
| PayNow / bank transfer | Confirm a manual transfer landed |
| Delivery | Dispatch, tracking, driver details, the escape hatches |
| Deposit & balance | Two-stage payments |
| Messages | The email thread, with an AI drafter |
| More options | Set status by hand · refund or cancel · the tracking link · PDFs |
How they get it is worked out, not stored. Selza has no "pickup" flag — pickup is just physical goods with delivery switched off — so the card derives the method from the order and says it in one sentence: "Mei collects this from you." · "You're dropping this off yourself." · "Lalamove delivers this to the customer's door." · "An instant download — already delivered." It carries the address, the time, a tappable phone number, and a nudge toward the next move.
Free and Pro
Details worth knowing
- "Worth a look" is arithmetic, not AI. It flags a first-time customer placing an unusually large order (twice your average, floor ~S$50), an order several times your average, a manual transfer you haven't confirmed in over a day, and a customer who's been refunded before. Plain rules you can argue with — that's the point.
- The AI summary is on demand. It doesn't run when the page loads; you tap for it, and the result is cached on the order so re-opening is free. It draws on your monthly AI allowance.
- The stepper is the buyer's, not yours. It's deliberately the same steps in the same order as their tracking page — including dropping "Quoted" for storefront and pay-link orders, which were priced up front. What you see is what they see.
- The Messages thread opens itself when the customer has replied since you last looked, and wears a badge. Otherwise it stays folded so it doesn't crowd the operational cards.
Works with — The order lifecycle, Refunds
The order lifecycle
The problem — Knowing what can follow what, and why the app won't let you do certain things. The missing buttons on this page are missing on purpose, and this is where that's explained.
How an order moves — and the one door that's locked
Six steps forward, two ways to end. Once money has changed hands, the exit is a refund — never a cancel. That's the design, not a missing button.
New
It's arrived. Nothing is owed to anyone yet. A form order needs a price from you; a storefront or pay-link order was already priced and skips the next step entirely.
Cancel
Allowed here — no money has moved, so nobody is left short.
Quoted
You've priced it and sent it. Still nothing owed. Storefront and pay-link orders never pass through this step, so their progress bar doesn't show it — to you or to the buyer.
Cancel
Still allowed. Cancelling before payment also releases any coupon or promotion the buyer had reserved, so the code goes back into circulation.
Paid
Not a button you press. It happens when the card clears, or when you confirm a PayNow or bank transfer landed. From here the money is real and the rules change.
In production
You've started. The customer is emailed. This is also the moment the assistant stops filing cancellation requests for you — past here, calling a job off is the owner's decision, so it escalates to you instead.
Ready
Made, waiting for hand-off. The customer is emailed.
Completed
Done. The customer is emailed, and the two-day post-delivery follow-up starts counting from this moment.
You cannot cancel a paid order
There is no button, on purpose. Cancelling is a status change that moves no money — on a paid order that would end the job and leave a buyer who paid and got nothing. So the step doesn't exist. A paid order ends through Refund, which actually returns the money, frees the booked time, and hands back the delivery fee the platform was holding.
Refund
The only way out of paid, in production, ready or completed. The order stays paid until refunds add up to the full amount, then reads Refunded.
Paid by PayNow or bank transfer?
There's no rail to reverse — that money went straight to your bank. Send it back from your own banking app, then set the order to Mark refunded so it stops lying about where things stand.
A courier already has it
A full refund is held while a driver is moving. Selza tries to call the courier off first; if it can't, the refund stays blocked rather than handing the buyer both the money and the goods.
The path — New → Quoted → Paid → In production → Ready → Completed. Plus Cancelled and Refunded, which are ends, not steps.
Free and Pro
Details worth knowing
- New → Paid isn't something you do. It happens when the card clears, or when you confirm a PayNow or bank transfer landed. That's why the button at that stage points you at a panel rather than advancing anything.
- Cancelling or refunding releases the time slot — the appointment or the pre-order items — back to your calendar automatically, on both kinds of availability.
- Cancelling before payment also releases the coupon the buyer had reserved. Cancelling or refunding after payment doesn't: the sale happened, so the code stays spent.
- The order can't move backwards. Ready doesn't go back to Making. If you've overshot, the way back is a conversation with your customer, not a status.
- Two people tapping at once is safe. The order is locked while it moves, so a double-tapped Refund can't fire two refunds — the second attempt sees the new state and is refused.
Works with — Tap to advance, Refunds
Upcoming work
The problem — A booking or pre-order business reads its day as "what's coming up", not "what came in most recently". Sorting by newest is exactly backwards for a bakery.
Where
What you'll see
The same orders you already have, regrouped by day: appointments, pre-order pickups, and orders with a make-by date, each with its time (or All day), title and a one-line subtitle. On the other tabs, the same data gets one line at the top — a Next up strip with your next two timed items.
Set it up — Nothing. It appears once you have any availability set up, and is hidden entirely if you don't, so an order-taking shop never sees a calendar it doesn't have.
Free and Pro
Details worth knowing
- It's read-only. Rescheduling, capacity and cancelling live one tap away under Manage in Schedule →. This lens is a glance, not a cockpit.
- The Next up strip only shows timed items. An order with a make-by date but no time won't appear in it — it's there to answer "what's next", and "sometime Thursday" isn't an answer.
- The tab is gated on any availability window ever created, including ones you've since removed. The Schedule door is gated on an active one. So a shop that deletes its last slot can lose the Schedule door while keeping an empty Upcoming tab. Harmless, but it surprises people.
Works with — Schedule, Availability
Order links
The problem — Someone wants to buy in your Instagram DMs. You don't want to send them through a whole storefront, and you shouldn't have to decide whether you're making a "form" or a "payment link" — that's a question about our database, not your job.
Where
What you'll see
One list, filtered by the only question that matters: All · Pay now · Quote first (+ AI-created once your assistant has actually minted one). Each row carries its title, a kind chip, a state badge (Live, Draft, Disabled, Expired, Archived), its public path, and the numbers that matter: reusable or single-use, clicks, and how many paid. Money is the right column — a price, or Live price, or Quoted.
Set it up
- Filter, or just scan.
- Row actions: Copy link, QR (opens a sheet with a downloadable PNG), and — on pay links — Disable/Enable.
- New link to make another.
Free and Pro
Details worth knowing
- Forms have no Disable button, and that's not an oversight. A form is published or archived from its own editor; a pay link is born live and toggles. Two lifecycles that were never merged, shown honestly rather than papered over with a button that would do nothing.
- AI-created single-use links expire themselves after 30 days with no paid order, so your list doesn't silt up — and a buyer can't resurrect a stale price out of a cold chat. The badge says Expired, not Disabled, so you know it wasn't you.
- Abandoned "New form" clicks clean themselves up after a day. Anything you actually named or built survives.
- You'll be warned before you share a dead link. If no payment method is live, a banner points you at Settings → Payments — a link that dead-ends at checkout is worse than no link.
Works with — Take a payment for a known price, Quote it first
Take a payment for a known price
The problem — You know what it costs. You just need to get paid, now, in this conversation.
Where
What you'll see
One screen, not a popup. A Product / Custom amount toggle up top, then the fields that toggle
needs, then two switches. The result is a short /p/… link and a QR.
Set it up
- Choose Product — priced live from your catalogue, so a price change follows the link — or Custom amount, fixed at whatever you type.
- For a product: pick it, then pick a variant if it has options (the price difference is shown).
- For a custom amount: give it a title (what the buyer's paying for), the amount, and an optional description the buyer sees.
- Set a quantity, or turn on Let the buyer choose quantity.
- Reusable is on by default — for a bio link or a repeated post. Turn it off for a one-off link that's spent after a single paid order.
- Create link. You're handed the URL immediately.
Free and Pro
Details worth knowing
- A pay link has no draft step — it's born live. That's why this screen asks for everything at once, while the quote-first branch drops you into an editor with a draft already saved.
- Only published products appear in the picker. If yours isn't there, it isn't published.
- Live pricing cuts both ways. A product link follows your catalogue price — including a price drop you forgot about. A custom amount never moves.
- Copy and QR live on the row, not here. Once the link exists, this screen hands you back to the list rather than leaving you on a spent form.
Works with — Pay links, Order links
Quote it first
The problem — You can't price it until you know what they want. Custom cakes, catering, anything bespoke. Asking for money before you know the job is how you end up making a $40 cake for $12.
Where
Set it up
- A draft is created immediately and the editor opens — nothing is shared until you publish.
- Build your questions.
- Publish. You get an
/f/…link and a QR. - Submissions arrive as orders. Open one, send a quote, and they pay.
- Take a deposit at the quote step if the job warrants it.
Free and Pro
Details worth knowing
- Each form carries its own 30-day funnel — views → submissions → paid — right in the editor, with a fuller report on its analytics page. It's the fastest way to see whether a form is asking too much.
- A submission is an order from the moment it arrives, sitting in Awaiting payment with "Send a quote" on its card. It isn't a separate inbox you have to remember to check.
- The draft survives until you publish it, so you can build a long form over a week. An untouched, unnamed, empty one is swept after a day.
Works with — Deposit then balance, Order links
Availability
The problem — "When can customers actually get something from me?" — one page for both bookings and pickup windows, because most shops turn out to need a bit of both.
Where
the Sales door lights up for it
Bookings or pre-order slots?
One Availability page, two different things called a slot. Which one you want depends on whether you're selling a moment of your time or a batch of your output.
What are customers actually buying?
This is the only question that decides it. You can run both — a café that also hosts classes does — but they behave differently and it's worth knowing which one you're editing.
A piece of my time — a class, a session, a fitting
You want a bookable service. Keep going down the left.
Things I make in batches — bread, meals, bouquets
You want pre-order slots. Skip to those.
Bookings — a seat at a moment
A service has a duration, and the buyer picks a real start time. Capacity means SEATS: a 10-seat workshop takes ten different people at the same time. Your weekly hours generate the times on offer, buffers pad each side, and a booking physically blocks that stretch of your day — the database refuses a second booking on the same seat and time, so a double-booking isn't possible even on two phones at once.
One service runs different hours
Open it and choose Set separate hours — the rest keep using your weekly hours.
Buyers book too soon, or too far out
Advanced holds both dials: Minimum notice (default 2 hours) and Book up to (default 30 days ahead).
Pre-order slots — items in a window
A slot is a named window on a weekday (“Friday Lunch”, 9–11am) with an item cap. Capacity means ITEMS, not orders: a three-item basket eats three of your twenty. There's no duration and no start time to pick — the buyer chooses the window. Physical and food products only, and the whole shop shares one horizon (Sell up to N days ahead, default 14).
Buyers can't see any of it
Slots do nothing until Show pre-order slots at checkout is on — and that switch stays disabled until at least one slot exists. The page warns you when slots are built but hidden.
A day off doesn't seem to block pickups
Only a whole-shop day off blocks pre-order windows. A day off scoped to one service blocks that service and nothing else.
What both share
One cancellation policy covers them both. One Schedule door shows them both, day by day. Both release their claim the moment an order is cancelled or refunded, so the time or the items go back on sale by themselves. And both snapshot your cancellation policy onto the booking when it's made — so tightening the policy tomorrow can't retroactively trap someone who booked today.
What you'll see
The page leads with whatever you actually sell. If you have more physical products than services, Pre-order slots come first; otherwise Your services do. The other half doesn't vanish — it folds into a one-line expander: "Also take appointments or classes?" or "Sell food or products in timed pickup windows?"
Set it up
- Under Your services, add one — Name, Price, Duration (15/30/45/60/90/120 minutes, or a custom 5–1440).
- Set Your weekly hours once; every service uses them unless told otherwise.
- Tap a service to expand it: Where it happens (In person / Online / At customer's place), Payment (charge in full, or take a deposit of 1–99%), and Seats per slot (1–500 — leave it at 1 for one-on-one).
- Advanced holds the dials: Minimum notice (default 2 hours), Book up to (days ahead) (1–365, default 30), Offer a start time every (5–480 min, default 30), and Buffer before/after (0–480 min each, both default 0).
- Need one service on different hours? Set separate hours inside it.
- Share
selza.app/book/<your-shop>— or the per-service link inside each one.
Free and Pro
Details worth knowing
- Seats are not orders. A 10-seat workshop means ten different people at the same time, each taking one seat. It does not mean ten workshops.
- Buffers pad the booking, not the slot. A 60-minute service with 15 minutes after it blocks 75 minutes of your day, but still shows the customer a clean hourly start.
- Weekly hours only exist if you have a service. A pure pre-order shop never sees that card — pre-order windows carry their own times and don't read your hours at all.
- Double-booking is impossible, not unlikely. Two people paying at the same second for the last seat is settled in the database, not by a check that might lose a race.
Works with — Pre-order slots, Schedule, Days off
Pre-order slots
The problem — You can make forty loaves on Saturday, not four hundred. A free-form time picker will happily sell you four hundred.
Where
What you'll see
Your windows, each showing its cap in items, how many are booked across the horizon, which products it sells, and Edit / Remove. Above them, the horizon; below them, the switch that decides whether any of it is real.
Set it up
- Name the window — "Friday Lunch", "Saturday morning collection".
- Set Items per slot (default 20, up to 10,000). "Total items you can make for this window. A 3-item order uses 3."
- Tap the Days it runs — picking several creates one slot per day, in one go.
- Set the Window (start and end time; 9–11am to start).
- Fulfilment: Pickup only / Delivery only / Pickup + delivery (the default).
- Optionally tick the products it sells — leave every box unticked to mean everything.
- Add slots, then flip Show pre-order slots at checkout (this one saves the moment you flip it).
- Set Sell up to N days ahead (1–60, default 14) — this one has its own Save.
Free and Pro
Details worth knowing
- The cap counts items, not orders. A three-item basket uses three units of your twenty. Two orders can be eight items. This is the whole reason the feature exists.
- Physical and food products only. Services, downloads and tickets can't be sold into a window — the page says so rather than offering you an empty picker.
- When it's on, it replaces the free-form pickup-time picker at checkout. When it's off, that picker comes back.
- Editing a slot doesn't touch bookings already taken — the editor says so. Shrinking a cap applies to what's left, not to what's sold.
- Remove doesn't delete history. It deactivates the window; orders already in it are untouched.
Works with — Availability, Schedule, Delivery
Days off
The problem — You're away, and the booking page doesn't know.
Where
Set it up — Pick a Date, choose what it Applies to — Whole shop, or one named service — and tap Block date. Blocked dates list underneath, each marked (whole shop) or (one service), with a remove link.
Free and Pro
Details worth knowing
- The card only appears once you have a bookable service or a slot. Nothing to block, nothing to show.
- It blocks future availability; it doesn't cancel what's booked. Anything already in the diary for that day stays in the diary — go and cancel those yourself, and tell the customer.
Works with — Availability, Cancellation policy
Cancellation policy
The problem — How late can someone cancel on you? Left unanswered, the answer is "any time", which is the same as having no policy at all.
Where
Set it up — Set Hours before start — 0 to 720 (a month) — and Save. The default is 24.
Free and Pro
Details worth knowing
- One policy really does cover both bookings and pre-order pickups. There isn't a second setting hiding somewhere.
- The policy is stamped onto each booking when it's made. Tightening it tomorrow can't retroactively trap someone who booked today under yesterday's rules — they keep the deal they agreed to.
- 0 hours means "cancel any time up to the start", not "no cancelling". If you want no self-cancelling at all, set it long.
- The card only appears once you have a service or a slot to apply it to.
Works with — Availability, Schedule
Schedule
The problem — Your day, as a day: what's booked, how full each slot is, and what has to be made by when. The board answers "what stage is this at"; this answers "what is today".
Where — Schedule (its own sidebar door)
What you'll see
Days, in order, today first — each listing three kinds of thing: appointments (with a time), pre-order slots (with a fill state), and make-by orders. The header counts "N items on the books" and names the timezone it's showing you.
A slot row summarises as "12 (+3 held) of 20 items" with a state badge — Open, Filling fast (past 70%), Full, or Overbooked. Expand it for a capacity bar, "N items left", and the thing you actually came for: Make for this window — every product summed across every order in that window, as a production list, with the per-order breakdown under it.
Set it up
- Open Schedule. Today leads.
- Expand a slot for its production list.
- On an appointment: Reschedule (pick a new time, tap Move), No-show, or — on a credit booking — Cancel & return credit.
Free and Pro
Details worth knowing
- The door appears once you have any active availability — appointment hours or pre-order slots. Order-taking shops never see it.
- The Capacity dashboard used to be a separate page. It isn't any more — it was absorbed into the slot expander. One operations surface, not two.
- No-show frees the time and keeps the money. The order is cancelled and its claim released, so the slot goes back on sale, but nothing is refunded. That's the point of a no-show.
- Reschedule re-checks for clashes and refuses a time that overlaps another appointment. It does not re-check your weekly hours, your days off, or your minimum notice — you're the merchant, so you can put someone anywhere free. Convenient, occasionally surprising.
- Overdue orders from past days fold behind one summary line — "N overdue items from before today". They need attention, but they mustn't bury today under a wall of red.
- Cancel & return credit only shows on credit bookings. A booking someone actually paid for ends through the order page's refund, like any other paid order.
Works with — Add a booking by hand, Pre-order slots
Add a booking by hand
The problem — Someone phoned, or walked in. They're not going to use your booking page.
Where
Set it up
- Pick a Service & time from the real open slots — you can't create a clash from here.
- Enter the customer's name, email, and phone (optional).
- Submit. "The slot is blocked right away; collect payment from the order."
Free and ProThe button appears only if you have bookable services — a pre-order-only shop gets the Schedule door but not this button, because there's no appointment to add.
Details worth knowing
- The time is blocked immediately and permanently — it doesn't sit on a 30-minute hold like a buyer's in-progress checkout does, so nothing sweeps it away while you're still on the phone.
- The order lands unpaid. It appears in Awaiting payment like any other, and you collect from the order page — cash, PayNow, a payment link, whatever you'd have done anyway.
- A double-booking is impossible — the picker only offers free times, and the database refuses a clash even if the page is stale.
Works with — Schedule, Availability
Delivery
The problem — Getting it to the customer without either eating the cost or losing the sale.
Where
the Sales door lights up for it
Free and ProNo delivery feature is plan-gated.
Pickup location
Every delivery option needs this first — it's where couriers collect and the point your delivery radius is measured from.
Set it up — Add a Label, Contact name, Full address (include the unit and floor), Phone, and optional Notes, then Add pickup address.
Details worth knowing
- It's geocoded once, on save — so what's stored is the normalised address, not exactly what you typed. Include the unit and floor or it lands on the wrong side of the block.
- Your phone is normalised and validated against the address's country. A malformed one is refused here rather than failing every courier booking later.
- The first address you add becomes the default automatically. You can add more and switch.
Self-arranged delivery — this is the one that works today
The problem — You'll drive it over yourself, or book your own Grab. You just need buyers to be able to choose delivery and pay you for it.
Set it up
- Turn Self-arranged delivery on.
- Drag your Delivery radius (km) on the map — 10 km by default, 0.5 minimum, and "up to 50 km covers all of Singapore".
- Set Your delivery fee ($) — $3.00 is only a starting suggestion.
- Add a Note to buyer — e.g. "I deliver between 6–8pm". Up to 400 characters.
- Save delivery method.
- On each order: Mark out for delivery, then Mark delivered. The customer is notified at each step — email, and their chat channel if they have one.
Details worth knowing
- You keep 100% of your self-delivery fee. Selza takes nothing — you're the courier, so there's nothing to take a cut of. Selza only takes a delivery markup where it's actually paying a driver's invoice, which is on-demand courier and nothing else.
- Buyers outside the radius don't see delivery at all, so nobody orders something you can't take them.
- You can skip "out for delivery" and go straight to Mark delivered if you've already handed it over. Both buttons are there.
- The radius needs a geocoded pickup address to draw the map. Without one you get a plain number field — it still works.
On-demand courier (Lalamove, pandago)
Singapore only for now — it quotes from your pickup address, and that's the market our providers cover. Shops elsewhere see a Singapore only note instead of a button, and self-arranged delivery keeps working in the meantime.
When it's live: buyers pay the courier fee at checkout, we book the cheapest available provider, and you just hand the order over.
Merchant-confirmed dispatch
The problem — A driver arriving before the cake is baked.
A paid courier order waits for you
The buyer paid for delivery at checkout, but no driver is sent until you say so. A courier arriving before the cake is baked is a worse day than one arriving late.
The buyer pays — delivery fee included
The fee was quoted live at checkout and is already collected. Nothing is booked yet.
The order parks at “Ready to send”
This is what “Send couriers automatically on payment” being off buys you, and off is the recommendation. You're emailed and texted that a paid delivery is waiting. Nothing expires while it sits.
Deliver it myself
Converts the order to self-arranged delivery. The delivery fee the buyer already paid is paid out to you, and you arrange the drop-off.
Cancel & refund
Refunds the buyer's delivery fee only. The goods stay paid for — this ends the delivery, not the order.
Do nothing for 24 hours
Not a real option. An unresolved delivery auto-refunds the buyer's delivery fee — so the choice gets made for you.
You tap “Send courier now”
Courier quotes go stale in minutes, so the price is checked again right here rather than trusting the one from checkout.
The fresh price is a fifth higher than what was collected
Dispatch stops and shows you both numbers under “Courier price went up”. You choose: Send anyway, or Cancel & refund. Nothing is booked while you decide.
The fee is refunded, or a refund is in flight
Send and Cancel both disappear — there's nothing left to send on or refund. “Deliver it myself” is the only way out.
A driver is assigned
The customer gets a tracking link by email. From here the delivery is live — which is exactly what blocks a full refund until it lands or is called off.
Set it up — Nothing. Send couriers automatically on payment is off by default, and off is the recommendation the page itself makes: "a paid order waits until you tap 'Send courier' on the order page — so a driver never arrives before it's made." Turn it on only if you ship ready-made stock.
A paid courier order sits at Ready to send, and the order page says "Ready when you are — the buyer already paid for delivery, so nobody shows up before it's ready." You're emailed and texted that it's waiting.
Stuck order? Three ways out
| Button | What it does |
|---|---|
| Send courier now | Re-quotes, then books. The buyer gets a tracking link. |
| Deliver it myself | Converts to self-delivery. The buyer's delivery fee is paid out to you. |
| Cancel & refund | Returns the buyer's delivery fee only. The goods stay paid for. |
What buyers see
Set it up
- Typical prep time (hours) — renders as "Usually ready in about 3 hours" at checkout. Up to 336 hours (14 days). Leave it blank if you ship right away.
- Free delivery over ($) — when their basket clears it, delivery shows as free. Blank or 0 turns it off.
Details worth knowing
- Prep time is a hint, not a rule. It changes what buyers are told; it does not push out the earliest pickup time, which is a flat 30 minutes regardless.
Works with — Courier needs card payment, Refunds
Customer journey messages
The problem — Your customers get a stream of emails through every order, and they sound like Selza wrote them. Because Selza did.
Where
What you'll see
Your customer's journey — a map of every message and automatic reminder at the moment it reaches your customer, from Explores your shop through to 2 days later. Stages with nothing to send say no message, honestly. Abandoned cart hangs off checkout as an off-ramp: "Only if payment isn't finished."
Under it, six editable messages in two groups:
| Order updates | When it sends | Subject | Goes out on |
|---|---|---|---|
| Order started | When you move an order into production | Locked | Email + chat |
| Order ready | When you mark an order ready for pickup or delivery | Locked | Email + chat |
| Order complete | When you mark an order completed | Locked | Email + chat |
| Payment receipt | When a customer's payment goes through (one-off orders) | Yours |
| Automated follow-ups | When it sends | Subject | Goes out on |
|---|---|---|---|
| Post-delivery follow-up | A couple of days after an order is completed | Yours | |
| Abandoned cart | When a customer starts checkout but doesn't finish paying | Yours |
A seventh card, Payment reminder, sits below them. It's a switch and nothing else.
Set it up
- Pick a card. It tells you when it sends and whether it's Email + chat or Email only.
- Rewrite the body — up to 1000 characters (subjects: 120).
- Tap the
{tokens}offered under Insert —{shop_name}, and{amount}where it applies. - Save. Each card saves on its own, so editing one can never clobber another.
- Leave anything blank to keep Selza's wording — or tap Reset to default.
Free and Pro
Details worth knowing
- Blank means default. A shop that never opens this page sends exactly what it always did.
- You're editing the words, not the plumbing. The legend spells out what's Locked ("added automatically, not editable") vs Your words: your logo and name, the greeting, product photos, the receipt table, the "Check your order status" link and the unsubscribe footer all stay ours.
- The three order-update subjects are fixed at "Order update — {shop_name}", because a customer who recognises the subject line opens it.
- Cancellation and refund emails can't be reworded at all — they're system-owned. So is the PayNow reminder.
{amount}doesn't work in a subject line, only in a body. It'll render as literal text if you put it there. Unknown tokens are left as-is rather than rendering blank or "undefined".
Common problems
| What you see | What's happening |
|---|---|
| The italic grey text doesn't match the real email | On the three order-update cards, the placeholder mirrors the chat wording, not the email. Preview → is the truth. |
| Your receipt lost its Order #1042 · prefix | Overriding the Payment receipt subject replaces the whole line, prefix included. |
| An edit to one message seems to have saved another | It didn't — each card saves independently. Check you tapped the right Save. |
Works with — Journey automations, Tap to advance
Journey automations
The problem — The follow-ups you'd send if you ever had time.
Where
Set it up — Three switches, all on by default. They save the moment you flip them — there's no Save button, and a failure says Couldn't save rather than pretending.
| Switch | Where it lives | When it fires |
|---|---|---|
| Abandoned cart | In the Abandoned cart card's header | Once, 6–48 hours after an unfinished checkout |
| Post-delivery follow-up | In that card's header | Once, 2–4 days after you mark an order complete |
| PayNow payment reminder | Its own card, under Payment reminder | Once, 6–72 hours after an unpaid manual order |
Free and Pro
Details worth knowing
- Each fires once per order, ever. No drip, no nagging. If the reminder didn't work, the next move is yours.
- Abandoned cart is narrower than its label suggests. It only chases card checkouts on your storefront. A PayNow order, a bank transfer, a form submission or a pay link never triggers it — those are covered by the PayNow reminder instead.
- The PayNow reminder covers bank transfer too, despite the name — anything where the buyer hasn't uploaded a payment screenshot yet. Selza owns its wording; the other two are yours to rewrite.
- A toggle is not a Save. Flipping these is instant; rewriting a message's words still needs its card's Save button.
Works with — Customer journey messages, Reward programs for birthday, loyalty and referral