Customers — Guest Directory, Segments, and Debts
The Customers section is the venue's guest CRM: who visits you, how often, how much they spend, what they like, and who owes what to whom. The database compiles automatically from orders — guests do not need to fill out anything or register.
To open: Admin Panel → Customers (admin.cenaly.ge). The main tabs are: Directory, Callbacks, Debts, Segments, Groups and Access.
What you need to get started#
Open Customers as the owner or an employee with access to the section. Adding and changing data requires edit permission. The directory is available on cenaly.ge, cenaly.com and other AWS brands; see the note above for cenaly.ru. The incoming call card requires your PBX and SIP telephony.
Phone Directory#
The main tab is a list of all venue guests. For each guest, you can see:
- phone number and name;
- number of orders;
- lifetime value (LTV) — total revenue generated by the guest;
- date of the last order.
Search works instantly, without waiting for the server: the guest database is loaded into the browser once and filtered locally from then on. You can search by name and by any digits of the phone number — including the last digits ("...45-67"), starting from three digits. If you navigated here from a call card in the "Calls" section, the number is already pre-filled in the search.
How to add a guest manually#
Save a customer's phone number before their first order so you can find the contact and fill in their profile later.
- Open Customers → Directory and click “+ Add customer”.
- Enter the number with its country code in “Phone”. You can leave “Name (optional)” empty.
- Click “Save”. After confirmation, the window closes and the list refreshes. A contact without orders is marked “added manually”; an existing number may link to a guest already known to the system.
- Find the row and open the card. In “Guest profile”, choose a location, fill in tags, allergies, preferences, date of birth or notes, then click “Save”.
If it does not work: check the country code and number. If the add button is missing, check your edit permission and domain. If the window closed with confirmation but the row is not visible yet, wait for the list to refresh or reload the page before trying again.
The add form has no gender, email, second phone number or separate messenger fields. It does not issue loyalty cards; use Loyalty.
Guest Profile and Activity Feed#
Clicking a row opens the guest profile — a slide-out panel on the right. It contains:
- header with aggregated metrics and one-tap contact buttons: 📞 "Call", WhatsApp, Telegram, and ✉️ "Send email" (the latter appears only if the guest's email is known);
- “Orders & revenue”: total, completed, cancelled, “Lifetime spent”, “Average check”, “Last order”; followed by “Recent orders”. Average check = lifetime spent / completed orders. With no completed orders, the value is “—”; cancelled orders do not increase the divisor;
- debt ledger balance with a link to the "Debts" tab;
- loyalty progress — how many stamps have been collected for the selected location;
- CRM fields: tags, allergies, preferences, date of birth, notes, visit and no-show counters. Filled in manually and stored per location — if there are multiple locations, a switcher is available at the top of the profile;
- activity feed — the complete history of interactions with the guest in a single timeline: orders, reservations (including cancellations and no-shows), reviews, chat correspondence (with navigation to the "Work Chat" → "Guests" section), debt entries and repayments, loyalty stamp accruals and redemptions. If any source is temporarily unavailable, the feed clearly marks it and displays the rest.
Incoming call: guest card on screen#
The card helps you recognize callers and use their order history during the conversation. You need your own connected PBX/SIP service, an open web admin panel and access to the active location receiving the call.
- Open Calls → Settings → Call centre (
/calls?tab=settings&set=callcenter). - Enable “Incoming call card”, wait for the setting to save and reload the admin page.
- An incoming call opens the “Incoming call” window: name or number, line, order count and lifetime spend. When available, it also shows an active order and “Upcoming reservation”. A new number may have no history.
| Action | Result |
|---|---|
| “New order” | Opens an order form with caller details |
| “Reservation” | Opens the booking flow in the operator workspace |
| “To the till” | On the POS page, opens the caller-to-order window; this button is absent on other pages |
| “Guest card” | Opens Customers with the phone number in search; cenaly.ru has no directory |
| “Save outcome” | Saves the chosen outcome and note in Calls → Operator; this is a workspace action, not a pop-up button |
In Cenaly Phone, the caller card displays information only. It has no create-order or reservation buttons; use the web panel for those actions.
Guest at the POS#
At the POS, search by name, phone (at least three digits) or card code. The card shows “Orders here”, “Last time”, “Recent orders”, “Bonuses” and debt for the selected location. Without the directory, lookup uses debts and passes; you can attach a new number below. A warning that the debt ledger is unavailable does not mean the customer owes nothing.
Staff instruction and “No alcohol”#
Two fields of the guest card are meant for the shift — unlike notes, which only staff with access to Customers can see and which the POS never shows.
- Open Customers, find the guest and open the card.
- In Staff instruction, write a short instruction — up to 300 characters. For example: “Never show the bill to the guests — hand it to the host”.
- If the guest must not be sold alcohol, tick 🚫🍷 No alcohol.
- Click Save. The fields are stored per location, like the rest of the card. On cenaly.ru there is no directory and no guest cards, so these fields cannot be set there yet.
What the shift sees:
| Where | What |
|---|---|
| POS, above the ticket lines | A yellow “📌 Staff instruction: …” banner and a red “🚫🍷 No alcohol” banner — for any cashier or waiter, without access to Customers and without a POS view setting |
| Customer card on the POS | The same banners under the name |
| Kitchen ticket | Bold “!! Staff instruction: …” and “!! NO ALCOHOL” lines before the items — on POS tickets and on station tickets printed by the kitchen display |
| Kitchen display (KDS) | “📌 Staff instruction: …” and “🚫🍷 No alcohol for this guest” banners before the ticket items: the POS passes them to the kitchen when it sends the order. Guests can’t see them: their order doesn’t contain this data |
| Pre-check and receipt | Nothing: these go to the guest |
“No alcohol” at the POS. An item counts as alcoholic by its product card flag: in Russia — the EGAIS section, elsewhere — the “Alcoholic product” tick in Inventory → product card. When the ticket’s customer is marked “No alcohol”:
- a cashier adding such an item sees the PIN window: Cancel — the item is not added; to sell it anyway — a manager PIN (or a remote approval by an administrator, type “Customer restriction”);
- a manager or owner at the POS gets an “Add anyway?” question and decides;
- the approval covers this ticket of this customer: further alcoholic items on the same ticket don’t ask again; a new ticket or another customer is blocked again;
- the same rule applies to combos: if a combo slot holds alcohol (“burger + beer”), the combo is added only after a manager PIN;
- if the customer is attached to a ticket that already has alcohol, the POS warns once and leaves the lines alone — the cashier decides whether to remove them.
If the customer card can’t be read (no connection, server error), the POS doesn’t pretend there are no restrictions:
- a yellow “⚠️ Couldn’t read the card — staff instruction and “No alcohol” are not checked” banner appears above the ticket lines with a Retry button;
- when an alcoholic item is added, the POS asks: “The card couldn’t be read — this guest may be marked “No alcohol”. Check with the guest and add only if alcohol is allowed”. Alcohol is allowed — add adds the item and won’t ask again on this ticket; Cancel — the item is not added;
- once the card is read again and turns out to be marked “No alcohol”, the usual manager-PIN rule applies.
Callbacks#
A dedicated tab for requests from the “Call me back” widget on your website or storefront. For each request, you can see the phone number, name, location, preference (“now / at a convenient time”), and notification status indicating whether an alert was sent to staff. The “Call” button dials the number immediately.
The widget itself is enabled and configured via the gear icon ⚙️ in the section header — the “Callback widget” option. Right there, as the second option, you will find “Loyalty program”: settings for stamps and points, with progress visible in the guest profile.
Debts ("Debt Ledger")#
A digital replacement for a neighborhood store's paper ledger. Keep a record log by customer phone number: lent — repaid. The balance is calculated on the fly, debtors move to the top of the list, and the overall total debt across all customers is displayed at the top.
You can expand a row to view the transaction history for that customer; any entry can be deleted (with confirmation).
Debt directly from the POS. In the payment window on the POS, there is a "🤝 On Credit" payment method: the cashier finds the guest by phone number or name (or adds a new one on the spot), and the entire remaining bill balance goes into this same ledger — nothing needs to be transferred manually. Right here, on the "Debts" tab, you can set the POS debt limit for the location: if exceeded, the tender is blocked, and it can only be overridden by an authorized employee or a manager using a PIN. Debt repayments can also be accepted at the POS — in cash or by card, including partial payments.
Segments and Newsletters#
A segment is a saved filter for the guest database that is recalculated every time you open the page: each segment displays a live member count.
One-click presets: VIP, regulars, newcomers, "dormant".
The builder creates a custom segment using thresholds and attributes:
- minimum number of completed orders;
- minimum and maximum LTV amount;
- minimum and maximum average check;
- last order within / older than N days;
- first order within N days;
- cancellation rate of total orders;
- "has phone", "has email", "has allergies";
- filter by CRM tag — select from tags you have already assigned to guests;
- Bought — menu items and categories: find them in the search and pick several.
Bought matches a guest with a completed order containing at least one of the selected items or categories. A cancelled line or cancelled order doesn't count as a purchase. The search also includes items no longer on the menu: everything guests actually bought. Categories come from the current menu. If there are many orders, history loads gradually, so the list may be incomplete after the first refresh of the section.
A business with a clinic location has no Bought condition: a clinic purchase is a medical service, and the guest database visible at the POS doesn't store it.
A guest with no completed orders does not match an average check condition: there is nothing to calculate yet.
The segment breakdown opens in a table (name, phone, email, orders, total spent, last order; sorted by LTV) and can be exported to CSV.
An email campaign can be launched directly from a segment: the system creates a snapshot of member addresses, you select a location (each has its own subscriber base) — and you are taken to the standard newsletter composer with the audience pre-populated. Marketing consent is cross-referenced automatically: the email will only be sent to those who are subscribed.
A segment also works as a condition: for a coupon — "−15 % VIP" applies only to guests in that segment, see Commerce → Coupon for a guest segment — for points campaigns and for scheduled bill discounts. Chips in the guest card show which segments the guest belongs to.
Customer Groups & Access#
A group controls storefront access and visibility, not prices or discounts. A segment is a dynamic filter based on orders and CRM attributes for analysis and campaigns; it does not assign a group or grant access.
A tab for stores and B2B showcases where a casual visitor should not see prices or place an order before approval.
- Registration moderation — "approval required" toggle and selection of what exactly is restricted until approved: checkout only, prices, or the entire catalog. The message for pending users is also configured here.
- Application field builder — what information to request upon registration: single-line text, multi-line text, phone, email; each field can be made required.
- Customer groups directory — group name, "default group" flag, "requires approval" flag.
- Application inbox — filter by status (pending / approved / rejected), application card, "approve" and "reject" buttons (with a reason for rejection), and assigning a group to the member.
The moderation block features a sparkle ✨ — the AI assistant will explain the current configuration and suggest what to adjust. Only the settings themselves and application counters are sent to the prompt, without any customer names or phone numbers.
Regular Guest Badge in the Order Monitor#
Guest recognition works not only in the "Customers" section. In the header of the order card in the monitor, a 👤 icon with a number is displayed — the number of past completed orders made by this guest across the entire establishment (all locations).
- If there are no past orders, the badge is not displayed at all.
- If the guest has visited before, you see the actual number of their visits, for example 👤 7.
- The current open order is not included in the counter — only past ones.
- If the guest is identified only by device (without a phone number and without logging into an account), the badge is gray and labeled "identified by device" — this is a less reliable match.
The badge tooltip displays the guest's name and their lifetime total. No action is required from the staff.
Guest Order History#
Click on the 👤 badge — a window with this guest's order history will open.
At the top is a summary: name, number of completed orders, lifetime spend. Below is a list of orders, most recent first, with each showing:
- order number;
- date and time;
- location, if the venue operates across multiple locations;
- order type and status;
- amount.
Any order from the history opens with a click — right on the same screen. If there are many orders, the most recent ones are shown — this is clearly noted below the list.
This allows you to quickly understand guest preferences, suggest favorite dishes, or clarify details of a previous visit without manual searching.
How the System Recognizes a Guest#
Cenaly automatically links multiple guest visits into a single profile, even if the guest hasn't registered. Several identifier types are used for this:
| Identifier | Description |
|---|---|
| Device | When opening the QR menu, the guest's browser receives an anonymous identifier. A return visit from the same device is recognized automatically. |
| Account | If the guest logged in (Google, email), their orders are linked regardless of the device. |
| Phone | If the guest provided a phone number when placing an order, it becomes an additional linking point. |
| The address from the order also works as a linking point between visits. |
All sources are merged into a single guest profile on the server. If the same person ordered from a smartphone, then registered, and later called — the system will show a unified counter of their visits.
No setup is required for this — recognition works automatically.
How to Use in the Dining Area#
The regular guest badge and guest profile help dining area staff in several scenarios:
- Priority service — a regular guest with a high visit count deserves special attention: greeting them by name, offering their favorite dish.
- Personalized offers — the waiter sees the history and can unobtrusively suggest items the guest has previously ordered and enjoys.
- Allergies and preferences at hand — details recorded in the profile are not lost when waiter shifts change.
- Experience tracking — if a regular guest leaves a low rating or cancels an order, the manager will notice it faster.
- Loyalty evaluation — LTV and visit counters across all locations provide an overall picture of how active the guest is across your chain.
Limitations#
| What you need | What to use now |
|---|---|
| Rename, delete, archive or restore a card | These directory actions are unavailable. Keep corrections in CRM notes; contact support about data deletion |
| Merge duplicates manually | Guest cards have no merge button: linking relies on shared identifiers. Check the full phone number. Merging counterparties affects only their own cards |
| Blacklist a guest | There is no general guest block. Tags and notes alert staff but do not prevent orders. Use groups for restricted storefront access and debt limits for sales on account |
| Import guests from Excel/CSV | The directory has no file import. Use CSV import in chat for messaging contacts, or the separate counterparties import. Neither fills the guest directory |
| Attach a consent form or another file | Guest cards have no files section. Use the counterparty card's files for business-counterparty documents; they will not appear in the guest card |
| Change lifetime spend or award bonuses | Lifetime spend comes from orders and cannot be edited here. Perform bonus operations in Loyalty |
Troubleshooting#
| Symptom | Possible cause | What to do |
|---|---|---|
| Cannot find a guest | A different number, no phone on the order, or too few digits entered | Check the full number with country code; search by name or at least three digits. On cenaly.ru, POS lookup uses debts and passes only |
| Two cards for one person | Visits share no phone, email or account identifier | Compare identifiers; do not create another card. There is no manual guest merge; send the example to support |
| No directory on cenaly.ru | It is not available on cenaly.ru yet | Use debts, groups, callbacks and POS lookup |
| Incoming call card does not appear | Disabled toggle, no SIP events, connection problem or no location access | Check Call centre, reload the page, check your PBX connection and active location. Check the live channel in Calls → Operator |
| Average check is “—” | There are no completed orders | Check order statuses. Adding a contact manually does not create purchases |
Related Sections#
- Orders — order monitor where the badge is displayed
- Loyalty Program — bonus programs and promo codes for regular guests
- Reviews — feedback from guests after an order
- POS — order taking by dining area staff
- Analytics — guest retention statistics
Frequently Asked Questions#
Does a guest need to register for the system to recognize them?#
No. Repeat visits from the same device are recognized automatically — without registration or data entry. If the guest registers later or provides a phone number, all their previous orders will be merged into a single profile.
Does the counter track orders for a single location or across all of them?#
Across all locations of the venue. If your guest has visited two different spots in your chain, the counter sums both.
Can I view a guest's history without opening their current order?#
Yes — via the "Customers" section: find the guest in the directory by name or phone number and open their profile card. From the order monitor, the history opens by clicking the badge inside the order card.
What if a guest uses multiple different devices and has not logged into an account?#
If the devices have no common connection points (account, phone number, or email), they will be counted as separate guests. The most reliable way to link visits is when the guest signs in via Google or provides their phone number at least once.
Does the badge affect order monitor performance?#
No. Guest data is loaded in the background and does not slow down the monitor.
Can anyone see the guest's mailing subscriptions in their profile card?#
Not yet — there is currently no dedicated consent block in the guest card. When sending mailings to a segment, consents are checked automatically on the server side: messages will only be sent to subscribed guests.
Can I import a guest list from Excel?#
Not into the directory. CSV import in chat creates chat contacts, while counterparties import creates counterparty cards. These are separate databases.
Where can I keep a guest's consent form or scanned document?#
Guest cards do not support file attachments. If the document belongs to a business counterparty, add it to that counterparty's files.
Does assigning a group automatically give a discount?#
No. Groups control storefront access and visibility. Configure discounts and bonuses separately in Loyalty.
Why does a new contact have no average check?#
Manual entry saves contact details. An average check needs completed orders; until then, the card shows “—”.