HairConnect Manual Log in

The assistant

Updated on 2026-09-04

Instellingen aanpassen door te typen wat u wil, in gewone zinnen.Change settings by typing what you want, in ordinary sentences. You are always shown what changes first, and you confirm it yourself.

Instellingen → Koppelingen → Assistent → Instellen (Settings → Integrations → Assistant → Configure). Only the owner can do this.

What it does

There is a text box in the top bar, next to the question mark. It appears on every screen where the assistant can do something, so you do not need to know which screen handles your sentence. Next to it is a microphone: dictation uses the speech recognition your browser offers. It keeps listening until you stop it yourself — click the microphone or the face again — so a pause in the middle of your sentence no longer cuts the recording short; what you say appears in the box as you speak. After two minutes, or after thirty seconds of silence, it closes by itself. Say "enter" at the end and the sentence is sent straight away; no click needed. A long sentence is shown in full below the box as soon as it no longer fits. Clicking the assistant’s face does the same as the microphone.

Note what that does and does not mean. Your browser sends the recording to its own maker's speech service — Google for Chrome, Apple for Safari — and gets the text back. So audio does leave the device, just not to us and not to the language model. If you would rather it did not, use the keyboard; the assistant works just as well that way.

What What you can say
Opening hours zet mijn openingsuren van dinsdag tot vrijdag van 9 tot 18 en de zaterdag tot 17
Appointment zelfde afspraak voor Christine binnen 4 weken · Christine Van den berghe wil knippen en kleur volledig hoofd voor volgende week dinsdag of woensdag
Move an appointment verzet de afspraak van Christine van morgen naar vrijdag 10 uur (move Christine's appointment from tomorrow to Friday at 10) · zet Els een half uur later (move Els half an hour later)
Cancel an appointment annuleer de afspraak van Christine morgen (cancel Christine's appointment tomorrow) · Els belt af voor vrijdag, ze is ziek (Els is cancelling Friday, she is ill)
Appointment status Christine is er (Christine has arrived) · Els komt niet opdagen (Els is a no-show) · Jonas is klaar (Jonas is finished)
Closing day we zijn dicht van 14 tot 28 juli, bouwverlof
Absence Sofie is donderdag afwezig (Sofie is off on Thursday) · Kris heeft verlof van 14 tot 18 juli · Ada is vanmiddag ziek vanaf 13u
Prepare a receipt reken Christine af (check Christine out) · bon voor Christine Vandenberghe
Invoice stuur Thomas een factuur (send Thomas an invoice) · maak een factuur voor mevrouw Peeters · factuur voor de bon van deze morgen van Christine · stuur de factuur van gisteren naar Christine
Customer detail het e-mailadres van Christine Vandenberghe is christine@example.be · nieuw gsm-nummer van Christine: 0473 95 07 95 · Christine spreekt Frans (Christine speaks French) · zet bij Christine dat ze allergisch is aan ammoniak (note that Christine is allergic to ammonia)
Service zet knippen dames op 38 euro (set ladies' cut to 38 euros) · de kleuring duurt voortaan 45 minuten met 30 minuten inwerktijd · highlights niet meer online boekbaar
New service nieuwe dienst baardtrim, 15 minuten, 12 euro, categorie heren (new service beard trim, 15 minutes, 12 euros, category men)
Menu price het pakket kleuring dames kost voortaan 95 euro (the ladies' colouring package now costs 95 euros)
Work schedule Noor werkt op dinsdag van 9 tot 17 met een half uur pauze (Noor works Tuesdays from 9 to 17 with half an hour's break) · Jonas werkt niet meer op maandag (Jonas no longer works on Mondays) · vanaf oktober werkt Aya op woensdag tot 15 uur (from October, Aya works Wednesdays until 15:00)
Time clock Jonas is gisteren om 17u30 vertrokken maar vergat te prikken (Jonas left yesterday at 17:30 but forgot to clock out) · Noor heeft vandaag om 8u50 aangeklokt in plaats van 9u (Noor clocked in today at 8:50 instead of 9:00)
Staff member Noor staat vanaf nu online boekbaar (Noor is bookable online from now on) · Jonas is uit dienst vanaf 30 september (Jonas leaves on 30 September)
Order bestel 6 flessen Olaplex nr. 3 (order 6 bottles of Olaplex no. 3) · zet 2 dozen folie op de bestelling bij Coiffure Pro (put 2 boxes of foil on the order at Coiffure Pro)
Receive a delivery de bestelling van Coiffure Pro is toegekomen (the order from Coiffure Pro has arrived) · we hebben 5 flessen Olaplex nr. 3 ontvangen
Product de verkoopprijs van Olaplex nr. 3 wordt 24,50 (the sale price of Olaplex no. 3 becomes 24.50) · minimumvoorraad van de folie op 4
Asking for a figure hoeveel omzet hebben we vorige week gedraaid (how much revenue did we do last week) · hoeveel klanten kwamen er in augustus (how many clients came in August) · wat is de bezetting van Kris deze maand · wat zit er nog in de lade

The box is on every screen, and you do not need to be on the right one: saying at the till that Sofie is off on Thursday gives the same proposal as on the Absences screen. Since 3 September 2026 it is also on Products, Suppliers and Deliveries: ordering, receiving a delivery and changing a price work there just as well with a sentence.

Today's calendar customers only go to the language model on the calendar, the till and the customer screens. Elsewhere you simply say the name; the assistant looks it up itself.

You are always shown a table of what changes first. Only when you press Bevestigen (Confirm) does anything happen.

If the assistant asks something backuntil 19:00 or until 07:00? — a conversation window opens with your sentence and its question. Answer there, briefly if you like (19h): the assistant reads your answer together with what you said before. As long as it still needs something, the window stays open; once it knows enough, the proposal appears as usual. Close the window and you start again with an empty bar.

"The same appointment" means what was last paid for at the register, not what was booked at the time. At the desk something gets added or dropped; the receipt is what the customer received and paid. If you work with packages, the package comes back — not its separate services, because washing and styling are included once. Extras only added at the register, such as an extra dose of colour, are not booked again. If the customer has never paid, her last appointment counts.

So the language model never writes to your data directly. It does one thing: turn a sentence into a proposal. Every check — does that day exist, is that a valid time, does the closing time fall after the opening time — happens on our side afterwards, and the writing happens along exactly the same path as when you fill in the form yourself.

If the assistant is switched off there is no text box, and no language model is ever queried for your salon.

Ordering and receiving. Bestel 6 flessen Olaplex nr. 3 prepares an order with status Ordered at the product's supplier; if that supplier already has an order that has not been sent yet, the line is added to it. No e-mail leaves: you choose Send to supplier on the delivery yourself afterwards, and the proposal says so. De bestelling van Coiffure Pro is toegekomen sets that order to Delivered; the proposal shows the stock per product from old to new, and only on confirmation does it go onto the shelf — along the same path as when you switch the status on the form. We hebben 5 flessen Olaplex nr. 3 ontvangen books a delivery without an order. If a name matches more than one product — the same bottle in 100 ml and 250 ml — the assistant asks which one, with the names as they are in your catalogue; it never guesses. The stock level itself is never set through the assistant: it only changes through a delivery or a movement.

Making an invoice. Stuur Thomas een factuur (send Thomas an invoice) takes his last closed receipt that has no invoice yet. Name a day — factuur voor de bon van deze morgen van Christine, stuur de factuur van gisteren naar Christine — and that is the receipt. An invoice never exists without a receipt: if there is none, the assistant says so.

The proposal shows the receipt, the customer with the address the invoice goes to, the lines with VAT per line, the total, and whether it will be mailed. The invoice only gets its number on Confirm, and mail only leaves if you asked to send or mail it — otherwise it says nee and you get the pdf. With no e-mail address on the record, the proposal says so beforehand; no address is derived.

If something an invoice needs is missing — your salon's VAT number or address, the customer's name — there is no proposal but the list of what is missing and where to fill it in, and nothing happens. If the receipt already carries an invoice, or that cash day has gone to your accountant, the assistant says so in plain words, with the road that is still open. See Making an invoice. Anyone without the Facturen maken (Make invoices) right gets no invoice from the assistant — exactly as the button at the till stays closed.

Moving, cancelling and ticking off

What a hairdresser does all day long now works with a sentence too.

Moving. Verzet de afspraak van Christine van morgen naar vrijdag 10 uur, zet Els een half uur later, verplaats de afspraak van 14 uur naar volgende week dezelfde dag en uur. The proposal shows the old and the new moment, who the appointment is with and how long it lasts. All blocks move along — the processing time included — exactly as when you drag the block in the calendar; a locked block stays where it is.

If the new time lies over another appointment, the proposal says who it clashes with, with the customer's name and the time, and adds the next free slot where it does fit, with the same staff member. Moving then only goes through if you explicitly choose it, and that move lands in the log (Instellingen → Logboek) as Afspraak bewust met overlap geboekt.

Cancelling. Annuleer de afspraak van Christine morgen. The proposal shows who, when, which service, with whom — and whether the customer gets a message. That last one is no by default: nothing goes out unless you choose Bevestigen en klant verwittigen (confirm and notify the customer), or unless you say so yourself. A moved appointment can be moved back; a sent message cannot, which is why this is the one step you point at separately. If you give a reason it is carried over; otherwise it stays empty — none is invented. If someone is waiting for a slot in that period, the proposal counts them; you then notify them yourself from the Wachtlijst (waiting list) screen.

Cancelling erases nothing: the appointment gets the status Geannuleerd, stays in the customer's history and gives its time back.

Present, finished, no-show. Christine is er, Jonas is klaar, Els komt niet opdagen. Only those three statuses. Geboekt and Bevestigd are not set with a sentence, and Geannuleerd always goes through the cancellation proposal — with the question of whether the customer gets a message. If the no-show mail is on (Instellingen → E-mail), it goes out as always.

Two appointments on one day. If the same customer has two that day, the assistant asks which of the two, with the times. It never chooses by itself: cancel the wrong one and someone stands in front of a closed door while a gap sits in the calendar that nobody sees.

Asking for a figure

Hairlien does not only change things, it also answers. Ask hoeveel omzet hebben we vorige week gedraaid (how much revenue did we do last week) and you get the figure back with its period, plus a Naar het rapport (To the report) button.

An answer has no Confirm button. A question changes nothing, so there is nothing to approve — and a button that sometimes does nothing is a button you stop noticing after a week.

What you can ask Where the figure comes from
Revenue Omzet (Revenue)
Number of clients (the number of receipts) Dagontvangsten (Daily takings)
Occupancy, for the salon or for one person Persoonsprestaties (Staff performance)
Product sales Omzet (Revenue)
Hours worked, for the team or for one person Gewerkte uren (Hours worked)
What should be in the drawer Kassaboek (Cash book)

The figure comes from the report itself. Hairlien adds nothing up and recalculates nothing: it looks up exactly the figure that is on that report screen, and tells you which report and which table it came from. If you doubt it, open that report and you will see the same thing. That way there are never two truths about your revenue.

Say the period the way you would say it: vorige week (last week), augustus (August), deze maand (this month), vorig jaar (last year), gisteren (yesterday). If you do not give one, Hairlien asks for it; it never picks one itself.

What does not exist stays empty. If someone has no roster and no punches that month, there is no occupancy rate: you do not get 0 %, you get the reason. If the drawer has never been counted, there is no expected cash either. A zero that actually means unknown is worse than no figure at all.

Only for those who may see the reports. Asking for a figure falls under the same right as the report screens themselves (Rapporten on the staff record). Without that right there is no figure — not even by asking Hairlien.

Hairlien for the client

The same assistant also sits on your booking page, at the top of step 1, with the name you gave it. A client types or speaks a haircut next Tuesday, adding a stylist's first name if they have a preference and lands on the free slots of that day, with package and stylist already filled in. They pick the slot themselves and confirm; no appointment is ever made without those steps. Only what the booking page itself shows goes to the model: opening hours, packages, services and first names — never another client. See What the client sees.

The ghost block in the calendar

If you ask for an appointment, no window appears. The calendar jumps to that day and a dashed block appears in that staff member's column: the appointment as it would be.

You can drag that block — to another time, to another staff member — exactly like a normal appointment. It snaps to your salon's time grid. A bar at the bottom shows the customer, the services, the time, the total duration and two buttons: Bevestigen (Confirm) and Laat maar (Never mind).

That dragging is not a detail. The assistant finds a gap, but whether that is the right gap can only be judged by someone who has the rest of the day in front of them: a colour with waiting time belongs between two other customers, so you can serve someone else while it develops. That judgement stays human work.

Stretch each part separately. The ghost block is made of parts: one per service, and after a colour a hatched part inwerktijd (processing time). At the bottom of each part sits a small handle with two lines. Pull it down and that part gets longer; up, shorter — in steps of the time grid, and never below five minutes. The parts after it shift along, so the appointment stays one whole; the start time and the parts before it stay put. That is how you shorten the cut and lengthen the colour, each on its own. The time and the total duration in the bar recalculate live. With the keyboard: put the cursor on the handle and use arrow down and arrow up. The duration you pull applies to this appointment; the service's standard duration does not change.

Drag the block over an existing appointment and the colliding part turns red, with the bar saying which appointment it lies over, with the customer's name and time. Only a service collides; processing time does not, and your proposal may sit in someone else's processing time. Confirming is still possible, but never unnoticed: the button is then called Toch bevestigen, met overlap (Confirm anyway, with overlap). Press it and the appointment is booked over the other one, and a line is added to the log (Instellingen → Logboek): Afspraak bewust met overlap geboekt (appointment deliberately booked with overlap), with the appointment it lies over. The block deliberately lies over the column rather than beside it: a proposal neatly slotted next to an existing appointment looks valid while it collides.

Only on Bevestigen does the appointment exist — with the parts exactly as you pulled them — and then it appears on every iPad in the salon, just like one booked at the counter.

Where it runs

Field Explanation
Waar draait de assistent (Where the assistant runs) Claude (at Anthropic) or Ollama (on our own server)
Anthropic-sleutel (Anthropic key) for Claude; starts with sk-ant-
Adres van Ollama (Ollama address) for Ollama; on the same machine http://127.0.0.1:11434
Model leave empty for the default model
Naam van de assistent (Name of the assistant) how your team addresses it, for example Hairlien; empty means "the assistant"
Gezicht van de assistent (Face of the assistant) a square photo or drawing; shown in front of the text box on every screen

A name and a face. By default that is Hairlien: the white HairConnect robot, with its name and face, the same in every salon. Prefer your own name and face? Fill them in here. Give the assistant a name and the text box says Zeg het Hairlien… (Tell Hairlien…) and a follow-up question is headed Hairlien vraagt terug (Hairlien asks back). The face replaces the sparkle in the box. This is more than decoration: a stylist talks to Hairlien more readily than to a text box, and the box is instantly distinguishable from the search box next to it.

Claude reads spoken Dutch noticeably better and answers in a second or two.

Ollama runs on your own machine. Nothing leaves it and there is no cost per sentence. Measured on 30 August 2026 with qwen2.5:7b: the sentence above was read entirely correctly, but it took thirty-one seconds. Usable to try out; not what you put in front of a hairdresser at the counter.

What leaves your salon

If you choose Claude, the typed sentence goes to Anthropic together with what is needed to understand it. That differs per screen:

Where you are What goes along
Opening hours your salon's current opening hours. No customer data.
Calendar the names of the customers in today's calendar, so that Christine can be pointed at rather than looked up
Calendar, till, customer screens the appointments of today and tomorrow: customer name, day and time, and the staff member — exactly what is on the screen, so that Christine's appointment tomorrow can be pointed at. No services, no amounts, no contact details
Every screen your salon's service list with price, duration and processing time, the service categories and the menus with their package price — otherwise knippen dames cannot be recognised. No customer data.
Every screen the names of your suppliers and — as long as there are no more than 200 — those of your products (brand, name, size, supplier); above that only the count goes along

What never goes along: phone numbers, email addresses, colour formulas, receipts, or a customer's history.

If you choose Ollama, nothing leaves: the model runs on your own server.

That difference belongs in your data processing agreement before you switch Claude on.

Testing the connection

The test button walks the whole path except the execution: it has the model convert one fixed sentence and checks whether the right action comes out. Nothing is saved and nothing is changed.

  • Het model verstaat Nederlandse opdrachten. — everything works.
  • Het model antwoordde, maar begreep … niet als een opdracht. — there is contact, but this model is not suitable.
  • Geen contact met het model: … — with the reason. On Ollama, does not support tools means this model cannot execute instructions; choose another one.

A test that only checks the key would turn green while the model cannot handle a single Dutch sentence. Hence this one goes further.

The assistant may do exactly what your account may do

Hairlien is on every screen and acts on behalf of whoever is logged in. Whatever a button refuses you, it refuses too: it is not a way around the rights on the staff record. An action you do not have the right for is not merely refused — it is not offered to you either, and the data belonging to it (such as your colleagues' schedules) does not go to the model.

What you ask Right you need
Set a colleague's work schedule Manage work schedules
Correct a clocking Correct clockings
Set the opening hours Salon settings
Set a closing day or holiday period Owner or salon manager
Ask for a figure from the reports Reports
Create or send an invoice Create invoices
Appointments, receipt, customer details, services, menus, products, deliveries, absences No separate right: these screens are open to the whole team

If the right is missing, the assistant says which right it is and who can grant it. It is also checked at the moment you press Confirm, not only when the proposal is drawn up: a proposal made by a colleague with more rights cannot be pushed through by you.

What the assistant deliberately does not do

Guess If it is unsure, you get a question back instead of a proposal. That question stays under the text box until you dismiss it, and your sentence stays in the box: you answer by completing it — till seven becomes till 7 pm.
Fill in days you did not mention If your sentence is about Tuesday to Friday, the other days stay as they are.
Act without confirmation Nothing changes before you press Bevestigen.
Work on stale data If a colleague changed the same hours in the meantime, the proposal is refused. A proposal expires after a quarter of an hour in any case.

What is kept

Every typed sentence is kept with the proposal, including after it has been carried out. Without that sentence, a dispute leaves you only the consequence — changed opening hours, an appointment nobody recognises — and no longer what was asked for.

After twelve months such a proposal disappears by itself. That is a full season plus the review of it; anything older is of no use to anyone.

What is not in it yet

Paying and closing at the till (the assistant prepares the receipt, you check out), sending an order to the supplier (the assistant prepares it, you send it), retyping the stock level itself (that goes through deliveries), and the VAT, deposit or name of a service. If you ask anyway, the assistant says it cannot; it does nothing else instead.