ResNeo HelpDashboard

Importing clients and bookings

Where the importer lives, what each of the six wizard steps does, how duplicates and odd dates are settled, what happens to marketing permission, and how the 24-hour undo differs from deleting a session.

Importing clients and bookings

Bring your client list and booking history across from your old system. ResNeo reads your spreadsheet, matches your columns to its own fields, checks every row with you, and gives you 24 hours to undo the whole import.

Before you start

  • Admins only. Data import is hidden from team member logins. Ask an admin to run it rather than sending files round.
  • Open the importer. Click Settings, stay on the Profile tab, and scroll to the bottom. Under Data import, click Open Data Import. There is no Data import tab and no sidebar link.
  • Back up what you already have. Under Settings → Reports, use Export your data to download your appointments, your clients and your services (choose All time and CSV or Excel spreadsheet), and keep the files.
  • Any spreadsheet will do. Excel workbooks (.xlsx and .xls) and CSV exports both work, including files with title rows, several sheets, or unusual characters. ResNeo does not need to recognise the system you came from, because your columns are matched on the next step.

What each file must contain:

  • A Client list needs a name column. One combined full-name column is fine, ResNeo splits it.
  • A Booking history needs a booking date, a booking time, and at least one way to identify the client: email, phone, an ID from your old system, or a name. One combined date and time column covers both.
  • A Staff list needs a staff member name.

A service name and a staff name on your bookings make the result far more useful, but neither is required.

Tip: import about twenty client rows first, check them in Contacts, then undo that test and run the real file. It is much cheaper than fixing three years of history afterwards.

The import hub

The Data import screen lists every import you have run and has Start new import in the top right. Each row shows when it ran, a status, and the counts once it is finished, plus the buttons that apply:

  • Continue goes back into a wizard you have not finished.
  • Resume import picks up an import that is still running.
  • Report CSV and Undo appear once it is complete.
  • Delete takes the session off the list.

Delete only clears the session and its uploaded files. It does not remove anything already written into your venue: for that you need Undo. While a completed import can still be undone, Delete is refused, because it would lose the record of what the import added. Press Undo first, or delete it once the 24 hours have passed.

The six steps

The wizard is numbered across the top: Upload, Map, Review, Services & staff, Validate, Import. Back to imports takes you out at any point and your progress is saved.

Import flow (concept)

After a successful import you have 24 hours to undo from the import hub.

1. Upload

Drop your files on Upload your files, or click to browse. Several at once is fine, and each sheet in a workbook is read separately.

Label each file Client list, Booking history or Staff list. ResNeo usually detects this and pre-fills it, so mostly you are confirming. A file left as Not sure blocks Continue. What can I import? opens Supported sources and two sample files you can download as a guide.

If a file is laid out as a printed report rather than a table, ResNeo reorganises it first and shows you the result, with Undo (use the original) if the tidy-up went wrong. That can take a few minutes on a big file.

Tip: if a file holds both bookings and client details, and most do, label it Booking history. The client details come across too.

2. Map

Map columns matches your columns to ResNeo fields automatically, and your job is to check the result. Drag a column onto a field to change it, use the dropdowns, or split a combined column such as a full name.

If the guesses are poor, open Tell the AI about your data (optional), describe your file in plain English, and click Save & re-run AI mapping. Re-run AI mapping redoes the current file on its own. Anything still missing is listed under Before you can continue, this file needs:.

Marketing columns need care. A column recording that the client agreed to marketing maps to Marketing Consent, or to Email marketing consent or SMS marketing consent when it names one channel. A column recording that they said no, such as Unsubscribed or Do not contact, maps to Opted out of marketing, because in that column Yes means no. The next section says what the import does with the answers.

3. Review

Review lists every column with its Sample, Action and Detail, each marked Imported, Not imported, Custom field or Split into fields. This is where you see what is being left behind, before anything is written.

4. Services & staff

Set up services & staff lists the service and staff names your bookings mention. For each one, Match it to something you already have, add it as new (Advanced setup lets you set a duration and price as you go), or Skip it, which leaves those bookings out. Then click Continue to validation.

5. Validate

ResNeo scans every row for missing fields, duplicates and ambiguous dates, and shows Your import plan and a Validation complete summary. Large files are checked in the background, so you can leave and come back.

Settle whatever it flags:

  1. Ambiguous dates detected: choose DD/MM/YYYY (UK) and click Apply and re-validate.
  2. Clients who already exist: set each row to Update existing or Skip row, or decide them all at once with the buttons above the list, including Skip all duplicates.
  3. Rows with an unreadable email: choose Import anyway or Skip row, or apply the same choice to all of them.
  4. View row shows you the actual row from your file if you are unsure.

The import cannot start while any of these are unresolved. Download report CSV gives you the full list to work through offline.

A booking file is also checked for double bookings, and Check these before you approve tells you what was found:

  • Rows that repeat an earlier row (these are skipped): a row with the same person, date, time, service and staff member as an earlier row is skipped, so the appointment is not brought in twice. The list names the row it repeats.
  • Upcoming appointments that overlap: if an appointment from today onwards overlaps another row in your file, or an appointment already in your calendar, on the same calendar, you get a warning that names both and the time. It does not stop the import: both are brought in exactly as your file has them, so fix the file first or move one in your calendar afterwards. Past history is not checked, and neither is a calendar set to take several clients at once.

Warning: Send upcoming reminders for imported bookings sits near the bottom whenever bookings are being imported, and it is off by default. Leave it off and nobody is contacted. Tick it and every imported appointment still in the future sends your normal reminders, by text as well as email if SMS is on, which on a year of history can be a lot of messages and a large bill. Booking confirmations are never resent either way.

Then click Review & approve. A Review & approve import window sums up what will happen: Not yet takes you back, Approve & start import goes ahead.

Nothing is written to your venue until you press Approve & start import. If you open step 6 any other way, it says This import has not started yet and sends you back here.

6. Import

Large files run in batches with a progress bar. You can leave the page and come back to this step.

When it finishes you get Import complete with the counts of clients (including how many existing ones were updated), bookings and skipped rows, plus Download import report (CSV). It also says how many skipped rows were repeats, and how many upcoming appointments overlap another. If something goes wrong you get Import failed with the reason and a link Back to import history.

Where each client's details end up in Contacts:

  • Client Notes become the client's Customer info note, which also shows on their bookings.
  • Address and Postcode become the client's address.
  • Everything else you mapped that has no field of its own, such as date of birth, gender, landline, preferred staff, loyalty points, total spent and any custom columns you kept, is listed under Imported details on the client. Those are for reference and cannot be edited there.

For a client already in ResNeo, set to Update existing, your own words are never overwritten. A note you already wrote is kept and the file's note is added underneath it. An address you already hold is left alone, and the file's address is shown under Imported details instead.

When a client has several services in one visit, such as a colour and then a cut, they arrive as one appointment, the same as a visit booked in ResNeo:

  • If your file has a column that groups the services of one booking, map it to Group booking ID. Services with the same group ID, for the same client on the same day, become one visit, however far apart they are.
  • Without that column, a client's services on the same day become one visit when each starts no more than 90 minutes after the previous one ends. The 90 minutes allow for colour development time. Services further apart stay separate appointments.

Past bookings from your history count on each client in Contacts:

  • A completed booking counts as a visit. Several services on the same day count as one visit.
  • A no-show adds to their no-shows.
  • Last visit becomes the date of their latest completed booking.
  • Upcoming bookings count when the visit happens, like any other booking.

If your client file has its own Total Visits or Last Visit Date, the higher number and the later date are kept, so no visit is counted twice. The same goes if you import the same history again.

If your venue is in a collective: a service of yours that is not on the collective's booking page is parked, and cannot take new bookings. Imported bookings for a parked service are still brought in and work as usual, kept with a note rather than dropped. The note reads "Imported, but this service is parked while your venue is part of a collective, so it cannot take new bookings. This booking is kept and can be managed as usual." You will find those rows grouped under Rows imported with a note and listed in the report CSV. Only bookings for today or a future date pick the note up, because a past booking is history either way.

Marketing permission

Every client an import creates gets Marketing consent, dated the day of the import, so a bulk message from Contacts reaches them. The exception is a client whose row says they said no:

  • Marketing Consent says No, False, 0, Off, None, Unsubscribed, Opted out, Declined, Refused, Withdrawn, Do not contact or No marketing.
  • Opted out of marketing says Yes, True, 1 or On. In that column, Yes means no.
  • Email marketing consent or SMS marketing consent says No. A client has one marketing setting covering both channels, so a no to either one opts them out of both.

One no beats any number of yeses: if your file says yes in one column and no in another, the client is opted out.

Those clients arrive with Opt out of marketing ticked instead. A blank cell, or an answer that is neither a clear yes nor a clear no, leaves the default in place. Clients created from a booking history file follow the same default, because a booking file has no marketing columns.

For a client already in ResNeo, set to Update existing:

  • A No in your file always opts them out.
  • Otherwise the import ticks Marketing consent only if they have never made a marketing choice in ResNeo. A client who unsubscribed, changed the setting in their own account, or whose setting your team changed keeps it. An import never signs someone back up after they have opted out.

When an import changes the marketing setting of a client who was already in ResNeo, the change shows on their timeline in Contacts, credited to the admin who ran the import.

Good to know: this assumes everyone in your file is happy to hear from you. If your old system recorded who said no, keep that column in the file so ResNeo can respect it.

The 24-hour undo

Once an import finishes, its row shows Undo available until a date and time. The clock starts when the import finishes, not when you approve it.

Click Undo, then Undo import to confirm, and the session is reversed:

  • Clients it created are deleted, unless they have bookings, forms or files that did not come from the import (see below).
  • Bookings it created are deleted.
  • Visits, no-shows and last visit dates that your booking history added are taken off again. Visits recorded in ResNeo since the import are kept.
  • Clients it updated are put back as they were: name, email, phone, tags, visit counts, last visit and any custom fields. Any edits you made to those since are lost too. A note or address the import added is taken off again, unless you have edited it since, in which case yours is kept.
  • Marketing settings the import changed are put back to what each client had before, and that reversal is written to their timeline as well. If the client has unsubscribed since, or someone has changed their setting since, that later choice is kept and the import does not overwrite it.
  • Services, staff and calendars the import created are deleted, unless a booking that did not come from the import uses them.

Some clients are kept. If you have booked an imported client again since the import, or added a form or a file to them, Undo keeps that client so nothing you did since is lost. Their imported bookings and visit history are still removed. When Undo finishes, the Data import screen tells you how many clients were kept and names them, and the same note stays on that import's row. Remove a kept client by hand in Contacts if you do not want them.

If Undo cannot finish, you are told so in plain words and the row says Undo did not finish. Press Undo again to finish it.

Warning: after 24 hours the undo stops working, but the Undo button stays on screen. Clicking it then tells you the 24 hours have passed and nothing changes. Past that point, unwanted records have to be removed by hand.

Common problems & fixes

Problem Likely cause Fix
I cannot find Data import It is not a tab, and team member logins do not see it Sign in as an admin, open Settings, stay on Profile, scroll to Data import and click Open Data Import
Continue is locked on Upload A file is still labelled Not sure, or is still being reorganised Label every file and wait for the notice to clear
Dates are a month out The file was read as US dates Undo, re-import, and choose DD/MM/YYYY (UK)
Clients or bookings appear twice The same file was imported twice Undo the second import within 24 hours, otherwise remove the duplicates by hand
Clients got unexpected reminders Send upcoming reminders for imported bookings was ticked Undo within 24 hours if you can, and switch the affected messages off under Settings → Communications
Imported clients are skipped by a bulk message Your file said they opted out, or they had already made a marketing choice in ResNeo Open the client in Contacts, then Preferences, and tick Marketing consent if they agreed to hear from you
An imported booking is on a day you are closed Imported bookings are not checked against your opening hours Open it from the calendar and move or cancel it
Two imported appointments are at the same time Your file had them overlapping, and Validate warned about it Open one from the calendar and move it. The import report lists every overlap
A client's notes or date of birth seem to be missing Notes are under Customer info, other details under Imported details Open the client in Contacts and look below their tags
A client is still there after Undo They have bookings, forms or files that did not come from the import Nothing to fix. Delete them by hand in Contacts if you do not want them
Rows imported with a note says a service is parked Your venue is in a venue collective and that service is not on the collective's booking page Nothing to fix: the bookings are kept and work as usual. The service can take new bookings again once it is on the page, or once your venue leaves the collective
Removing a session did not remove the data Delete only clears the session and its files Use Undo on a completed import instead
Undo does nothing The 24 hours have passed Remove the records by hand

If a validation message is hard to follow, copy the exact wording (and the row reference if one is shown) before you ask for help.

Next steps