Skip to content
Sellify POS

Selling more

Call centre

Menu: Sell → Call centre · Sell → Customers · Setup → Areas, Cities Who: call centre operator, manager and HOD — plus the owner

An agent takes an order into any outlet from a desk that is not a till. Delivery and takeaway only: a table booking is a different thing and is not in Sellify.

Before the first call

Set upWhereWhy
CitiesSetup → CitiesSo a customer and a branch can be filed by city
AreasSetup → AreasThe delivery charge, the promise and the minimum order
AgentsSetup → UsersThe three call-centre roles are company-wide, like an owner

Areas

One area belongs to one outlet. An address in an area is served by that outlet and no other, so the agent never picks a branch and no two branches both think an order is theirs. Writing an area name a second time is refused, naming the outlet that already has it. A commissary is refused an area outright — it has no till, so it delivers nowhere.

FieldWhat it does
Delivery chargeLeft blank means fall back to the branch's charge — not "free"
Promise (minutes)What the agent reads out. Worked out on the branch's clock
Minimum orderMeasured on the goods after discount, never on the bill
Radius (km)A number for a human to read out. No map, nothing is computed from it

Out of radius warns. A shop that means it turns on delivery.block_out_of_radius for that branch.

Taking a call

  1. Find the customer by phone. 0300 1234567 and +92 300 1234567 are one person — Sellify matches the number, not the punctuation.
  2. Pick the address, which picks the area, which picks the outlet. The charge and the promise appear at once.
  3. Build the cart on the same screen a cashier uses. That is the point: a till and a call can never price one menu two ways.
  4. Confirm. The order is placed, not paid.

The order type is stated, not offered — the API refuses a dine-in call order.

What a confirmed order is

It holds no money, so nothing in the day close, the Z report or the sales reports changes until the branch is paid.

It does get its real order number straight away, though — the moment you save it. That is the number to read out to the customer, and it is the same one on the receipt when the branch takes the money. There is no second reference to keep track of.

If the branch rejects the order, it keeps that number as a cancelled one, exactly like a sale a cashier voids at the counter. Nothing goes missing from your numbering.

Refusals worth knowing

RefusalWhat it means
"Choose 2 for Drink."A deal has a choice nobody answered
The minimum names the shortfallSo nobody does subtraction on the phone
The outlet's day is closedA manager at that branch must reopen it. Not something to retry

The customer

Stars are worked out from their orders, not typed by a manager — a rank somebody has to maintain by hand is a rank that is six months out of date.

A customer's own discount wins. When their standing discount and a campaign or promo both fit, theirs applies and nothing is asked — it was promised to them personally, and an agent should not adjudicate that on the phone. Only a cashier's own manual discount replaces it. It discounts the goods, never the delivery charge, and the company cap trims it rather than refusing the sale.

Giving one is the owner's or the HOD's, not a branch manager's — it is worth money forever. Every change is on the record: percent before and after, the reason, who and when. Blank dates mean standing; switching it off is a pause, not a deletion.

What sits either side of the call

Once a number resolves, two panels open beside the call.

SideWhat it shows
RightThe last 10 orders that were actually delivered — the date, the outlet's area, what was on them and what they came to
LeftThis customer's complaints and feedback, newest first, with what was done about each — and a Record button

"Delivered" means the rider marked it delivered. A drop that came back off the doorstep and one still on a motorbike are not there, and neither is an order that was voided afterwards — none of those is something to read back to somebody on the phone. An order handed over an hour ago is there even though the branch has not been paid yet.

The heading says when there is more than is on screen ("Last 10 of 34"). On a narrower screen the two panels sit under the call instead of either side of it.

Recording one while they are still on the phone

Record, at the top of the left panel, opens the same form that Sell → Feedback opens — one form, so the rules behind it cannot drift apart. What is different is that the caller is already attached to it:

  • You type the words and nothing else. The complaint is filed against this customer whether or not it is about an order, which is most phone complaints — a rider who has not arrived, a number nobody answered, a promise somebody made.
  • The order is picked from a list, not typed as a number you do not have. It is all of their recent orders, including the ones that failed and the ones still out — those are usually what the call is about, so the delivered panel on the right deliberately is not the list you are choosing from.
  • An order you pick brings its own outlet and customer with it. Pick one belonging to somebody else by mistake and it is filed against them, not against the caller.

It saves and the panel refreshes, so the agent can see it landed before they hang up.

Editing and deleting are still the HOD's and the owner's — the panel has no edit control. An agent may add to the record; rewriting what a customer said is somebody else's job. See below.

The branch answering

The branch sees new orders on its POS within about ten seconds and hears an alarm.

  • Accept — the kitchen is told and the ticket prints. Accepting is what says somebody is standing in that kitchen and has read it. call_centre.auto_accept collapses the two for a shop that wants the paper immediately.
  • Reject — a void with a required reason, which the agent reads out to the customer. Nothing leaves the shelf or the till either way.

Only an order the branch was handed is the branch's to answer. A delivery the counter rang itself never appears here: it is accepted by the cashier who took it and goes straight to the kitchen. A shop is not asked to agree with itself.

The alarm needs arming once. A browser will not play a sound until somebody has tapped the page — so the till shows a plain strip until it is armed. Tap it at the start of service. A feature that fails quietly at 8pm on a Friday is worse than no feature.

The board

Call centre → Board lists every outlet's unanswered orders, oldest first. Anything unaccepted past call_centre.unaccepted_alert_minutes (5 by default) turns red. Ring the branch. A till that is off the network hears nothing, and that cannot be fixed from our end — the board is the other half of the answer.

Feedback and complaints

Menu: Sell → Feedback

Anybody who takes the call may record one — an agent, a branch manager, an owner. When it is filed against an order, the branch and the customer come off the order, so it cannot land on the wrong outlet. An agent usually records one from the call screen instead, which is the same form with the caller already attached (above); this screen is where you open one cold — off a slip, with an order number in your hand.

  • Categories are your own words for what went wrong (Setup → Complaint categories). A pizza shop's "cold on arrival" and a pharmacy's "wrong strength" are not one list.
  • Resolving is its own act, so a branch manager can say what they did about a complaint against their outlet without being able to rewrite what the customer said.
  • Editing and deleting are the HOD's, the owner's and Sellify's — the words somebody wrote down are evidence. Every edit and delete is on the record, and a delete is soft.

A day will not close over an open confirmed order

Named by its order number. The kitchen is cooking food nobody has paid for; closing would refuse that payment when it came.