# Customers and appointments

## Customers

### Customers (the board)
**Columns:** To call · On a call · No answer · For the manager · Done · Declined.

**On top (from 2.13.0):** four numbers — how many customers, new this week (and the week before), next actions due
today or overdue, appointments in the next 7 days — and **Board | Table** to switch between the board and the table
of everyone (sticky header, search, stage filter).

**What you can do on the board:**
- **Drag** a card to move it. Moving to Done, Declined or For the manager asks for a reason.
- **Day:** today (the default), a past day (read-only), or all time grouped by day.
- **Filters:** agent, kind (buyer, seller, tenant, landlord), search.

**The ⋯ menu:**
- **Add customer.**
- **Import CSV:** columns `name, phone, email, kind, area, beds, purpose, budget_min, budget_max, notes`.
  - A preview first. A known phone number only fills in what the card is missing; a bad number keeps the card without a phone, so it cannot be called.
- **Add or remove sample customers.**
- **All customers (table):** every card with a search box and a stage filter.

**Marks on a card:**
- 📅 an appointment;
- 💬 a WhatsApp draft waiting;
- 🏠 N listings suggested;
- "from yesterday" when the card was carried over.

### A customer's card
**Overview | History (from 2.13.0):** the card's page opens on its conversation, appointment, WhatsApp and email;
**History** lists everything that happened to it (the tab stays when you reload). The side card's menu jumps to
**Stage**, **Details**, **Profile** and **Source**.

**Properties:** stage (with its reason), agent, kind, phone, email, language, needs (purpose, areas, beds, budget), next action and when, do-not-call.

**Actions:**
- **Call now:** the agent calls on the phone. Blocked for do-not-call cards and cards without a phone.
- **Try in playground:** rehearse a call with this customer's details.
- **Book appointment.**
- **Delete customer** (owners and admins; the sector's word): deletes the card and what Lumate keeps about the person:
  its history, thread, appointments and call list places, the calls with them (their transcripts), their WhatsApp
  messages, the notices about them and the files on the card. Tasks that mention the person and what agents remembered
  stay, and so does a file another card or task also holds; a number that asked not to be called stays on the
  do-not-call list. Not during a call with them.

**Sections:**
- **Appointment:** the open request or the scheduled visit.
- **WhatsApp:** the latest messages, the draft, a composer, and "Open conversation".
- **Email (from 2.8.0):** the agent's draft (edit, **Send** or **Discard**), **Write an email**, what was sent or
  waits, and **No emails** (see [Email](/docs/email#email-to-contacts)).
- **Listings:** suggested listings, each with **Sent to the customer** and **Not interested**.
- **History:** every event in the company's time:
  - calls (reached or not, with the transcript);
  - stage moves;
  - notes;
  - appointments;
  - WhatsApp messages;
  - emails (by subject);
  - listings.
- **Work with the agent:** the card's thread. Write to the card's agent here. Call transcripts and WhatsApp messages land here too, quoted.

### Appointments
A month, week and day calendar in the company's time zone. **Month** (from 2.13.0) shows up to three appointments a
day; **+N more** opens that day. Click an appointment for its details: customer, phone (tap to call), place, topic, and what the customer said. From there you can:
- reschedule it;
- mark it done, a no-show or cancelled.

**Book appointment** on a customer's card makes one directly.

A **personal meeting** is one a call Lumate made for you agreed (see [Calls Lumate makes for you](/docs/calls#calls-lumate-makes-for-you)). It shows the person's name and number and belongs to no card. You move it, close it or cancel it like any other.

**Booking (Appointments → Booking settings, owners and admins, from 2.4.0).** Switch on **Lumate books times itself**
and Lumate finds a free time and books it, on calls (yours and the ones it answers for you) and in chat. Off, it only
notes what people would like and a person sets the time, as before.
- **Opening hours** by weekday (an end of 23:59 means open until midnight), and for each kind of appointment **how long
  it lasts** and the **gap after it**.
- **What is booked:**
  - **Nothing:** only the opening hours count, with an optional **At most at once**.
  - **People** (brokers, doctors): each takes one booking at a time, in their own hours if you give them. Real
    estate and HR start here.
  - **Tables and rooms:** each with its seats; the smallest one that fits the party is booked first. A party no table
    seats gets no time.
  - With people chosen but nobody added yet, or nobody for that kind, the opening hours count, so bookings never stop.
  - A person or table with coming appointments cannot be removed: switch it off instead.
- **A person confirms bookings:** the time is held and the booking waits in Appointments until someone confirms it.
- **Earliest booking** (minutes from now) and **book up to** (days ahead).
- Two calls can never book the same slot: the second one is offered the nearest free times instead.
- One caller (their card, or their number) holds at most three coming bookings; a colleague arranges more.
- A caller on a call Lumate answers for you can cancel their own coming booking: only one made from the same number,
  under the name they give, on the day they name (three tries a call). You are told. Lumate never tells anything
  about other bookings, and callers hear a table's name but never a colleague's.
- The **Day** view shows a column for each person or table that takes bookings, and one for appointments tied to
  none.

### Messages (WhatsApp)
Every WhatsApp conversation, newest first. Beside the open conversation (from 2.13.0; **Contact** on a narrow screen)
is the contact's panel: kind and stage, next action, appointment, who follows them, the latest events, **Open card**,
and **Ask Lumate for a reply** — Lumate drafts one, and it waits in the conversation for you to send.
- The number badge counts **messages waiting for a reply**.
- A **draft** mark means an agent wrote a reply waiting for you. Open the conversation to see it as a dashed bubble with **Send**, **Edit** and **Discard**.
- Ticks show what happened to your messages: 🕓 queued, ✓ sent, ✓✓ delivered, ✓✓ read, "not sent" with the reason, "waiting (limit)" when the hourly or daily cap holds it.
- Replies from teammates who answered a notification show as "Name (team)".
- A chat marked **number hidden** is a sender whose number WhatsApp hides. You can answer it; it joins the number's card once WhatsApp tells the number.

**Who wrote: Customer, Broker or Personal.** Each chat has a label, changed from the top of the conversation. **Show**
filters the list: All, Customers, Brokers.
- **Customer** (as before): the person gets a card and an agent takes care of them.
- **Broker:** a broker from another office. The card stays as a contact, but it is not a customer: it is never on the
  board, never called by the dialer, never counted with the customers, never given to your brokers.
- **Personal** (admins): family, friends, your partner. Lumate stops following the number. It asks first, then
  deletes the chat's messages, their copies on the card and the card it made for them (a card with calls,
  appointments, a broker or a recorded reason to call is kept, without the chat). From then on nothing from that
  number is stored, nobody is notified and no agent sees it. Notes agents had already written elsewhere are not
  searched. **Settings → WhatsApp → Personal chats** lists these numbers; **Remove** follows one again from its next
  message.
- **Delete conversation** (admins) removes the chat's messages from Lumate. The phone's WhatsApp and the card stay.

See [WhatsApp](/docs/whatsapp).

### Listings
Listings the agents found:
- **Columns:** title (a link to the portal), sale or rent, type, price, beds, size, area, portal, found, and the customers it was suggested for.
- **Filters:** sale or rent, type, beds, area, minimum and maximum price, portal, last 7 days, matched or not, and "still listed", "no longer listed" or all.
- "price changed" marks a listing whose price moved since it was first saved.

### Outside brokers
For a customer's chosen listings (at most 5), Lumate reaches each listing's broker and gives the result to our
broker. Ask in a chat ("reach the brokers of the listings you found for Ali"), or tap **Start** on the card an agent
offers after matching listings.
1. **Finding the broker.** Lumate opens each listing in the office browser and reads the broker's number from the
   page: a phone or WhatsApp link, or the portal's "Show number" button. It never fills in a portal's contact form;
   a listing that asks for our details, or needs a sign-in, is skipped and said so. Each number becomes one
   outside-broker card, reused for every listing of that broker. A number that is one of our customers is never used.
2. **Messages.** Each broker gets one short WhatsApp message from the company's number: is it available, do you
   co-broke, when can it be viewed. Never a word about our customer. At most 6 messages an hour and 30 a day go to
   outside brokers, only on the calling days and hours (Settings → Call center). Replies reach the broker agent, who
   records what they said; it may ask one follow-up.
3. **Calls.** A broker who has not answered in 3 hours (or is not on WhatsApp) gets a call offer. Each call waits for an
   admin: **Approve call** on the card in the chat or the Inbox records the reason "enquiry about the broker's own
   listing" (and, when it is due, that you checked the number against the DNCR today), then the broker agent calls
   once with the broker scenario. One broker call at a time; it shows in Call center → Live.
4. **The customer.** When every listing is answered (or a day after the first message), the customer's agent asks the
   customer on WhatsApp when they are free — in their language, with no links, numbers, agency names or addresses.
   A customer who never wrote to us is left to you.
5. **Our broker.** Their free times give the card to our broker (Lumate Desk pops it up) with every listing, its
   broker's contact and what they said. Our broker agrees the viewing with the listing broker and records it in Agent
   X Broker (**Record viewing**) or in Appointments; the customer gets one confirmation with the day, time and meeting
   point, and one update if it moves.
