Skip to content
Booked Help centre

Move your data in from another system

Bring customers, services and appointments across from your old booking system as CSV files, see exactly what will happen before anything is saved, and take your data out, or hand a customer theirs, whenever you need to.

Switching booking systems should not mean retyping your customer list. Export CSV files from the old system, drop them into Settings › Import & export, and Booked brings across customers, services and appointments. It shows you what would happen before saving anything, and running a file twice does no harm. The same screen takes your data back out, and a customer’s record builds the file you owe them if they ask what you hold.

What can come across

Each file holds one kind of record. Booked reads the columns listed here and ignores any others in the file.

FileWhat Booked takesMust haveAlready in Booked if…
CustomersFirst name, last name, email, phoneEmailThe email matches
ServicesName, duration in minutes, price, descriptionNameThe name matches
AppointmentsCustomer email, first and last name, phone; service name; date; time; status; price; notesCustomer email, service name, dateSame customer email, same date and time

Coming from lists 38 systems, from WordPress plugins such as Amelia and Bookly to salon and clinic software, plus Something else / a plain CSV. It is only a label: Booked matches columns by their headings, so an export from any system works.

Import a file

  1. Export a CSV from your old systemOne file per kind, with a header row. A CSV, not an Excel workbook; commas or semicolons both work. Up to 8 MB and 5,000 rows.
  2. Open Settings › Import & exportUnder Advanced in the settings rail. There is no Save button; the import has its own.
  3. Say what is in the file firstPick Customers, Services or Appointments before you drop the file. The screen starts on Appointments.
  4. Drop the file on the boxOr click it to choose the file. Booked matches each field it knows to a column.
  5. Check the columnsEach field shows the column Booked picked and two sample values. Check what this would do stays greyed out until every Required field has a column.
  6. Check what this would doBooked runs the whole file against your data without saving. When the result looks right, press the Import button, which carries the count.
←
Settings

Import & export

Your business
Company detailsMeridian Pharmacy · Manchester
Region & currencyUnited Kingdom · GBP · 24-hour
Taking bookings
Booking rulesApprove by hand · deposits · groups
Waiting listOn
Customer accountsCustomers can sign in
Money
Your planPro · active
AI creditsAllowance and top-ups
Reminders & calendar
Emails & textsWordPress mail · no texts
Calendar syncGoogle and Outlook
Advanced
Tracking & pixelsNo pixels yet
Import & exportImport, export, requests
API keysKeys for other tools
Activity logEvery change, logged
Bring your data across214 rows

Export a CSV from your old system and drop it here. Booked works out which column is which, shows you what would happen, and only imports once you are happy.

Coming from
Something else / a plain CSV▾
What is in this fileCustomersServicesAppointments
old-appointments.csvChoose another to start again.
Check the columnsReady to check

Booked has matched what it recognised. Correct anything that looks wrong; the sample values beside each column are there to check against.

Customer emailRequired
Client Email Address▾
finn.nakamura@example.com · grace.w@example.com
Customer first name
Not in this file▾
Customer last name
Not in this file▾
Customer phone
Mobile▾
07700 900111 · 07700 900112
Service nameRequired
Appointment Type▾
Flu Vaccination · Travel Health Consultation
DateRequired
Start Date▾
14/10/2026 · 15/10/2026
Time
Start Time▾
09:30 · 2:15pm
Status
Status▾
Confirmed · Booked
Price
Amount Paid▾
18.00 · 35.00
Notes
Not in this file▾
Check what this would doLet the assistant fill the gaps

Settings › Import & export, with an appointments file read and its columns matched.

  • 1Coming from — the system you are leaving. A label only; it does not change how columns are matched.
  • 2What is in this file — Customers, Services or Appointments. Set it before you drop the file.
  • 3The file — drop it here or click to choose. The pill counts the rows under the header.
  • 4A field with no column — reads Not in this file. Pick the heading yourself; the grey samples show what each column holds.
  • 5Let the assistant fill the gaps — appears while something is unmatched, if your plan includes AI. It fills only empty rows and costs 5 AI credits (see Your monthly AI allowance).
Changed the kind after dropping the file?

Drop the file again. Switching What is in this file afterwards keeps the column guesses made for the previous kind, so a services file read as appointments leaves Name unmatched.

How Booked reads your file

  • Headings. Case, spaces and punctuation are ignored, and common alternatives are known: Client Email Address, Mobile, Surname, Appointment Type or Treatment.
  • One name column. A single Name column is not matched for you. On a customers file, give it to First name and leave Last name empty: Booked splits it at the first space. Appointments files do not split names, so import customers first.
  • Dates. 2026-10-14 and 14 October 2026 both work. 03/04/2026 is read day first, as 3 April, unless the second number is over 12, as in 04/13/2026.
  • Times. From the Time column, or a time inside the date. Write hours and minutes, such as 14:30 or 2:30pm: anything Booked cannot read, including 2pm, becomes 09:00.
  • Prices. Currency signs, thousands separators and European figures such as 1.234,50 are all fine.

A status column is translated into Booked’s own statuses (see Booking statuses explained). Booked looks for these words anywhere in the value:

Comes in asWhen the old status contains
Confirmedconfirmed, approved, accepted, booked, scheduled or active. Blank or unrecognised values count as Confirmed too.
Pendingpending, awaiting, requested or new
Cancelledcancelled, canceled, declined, rejected or void
Completedcompleted, complete, done, attended, finished or checked out
No-showno show, missed, did not attend or DNA

Check what would happen, then import

What will happen

Nothing has been written yet. This is the file run against your data, without saving.

New208
Already here4
Skipped2
These rows cannot be imported as they are
Row 57No usable customer email
Row 131Could not read the date
Import 208 recordsSafe to run again later. Nothing is duplicated.

The preview: what the file would do to your data, before anything is saved.

  • 1New, Already here, Skipped — records it would add, rows matching something you already have, and rows it cannot use.
  • 2Rows that would fail — by row number, with the reason. Up to 25 are listed.
  • 3Import 208 records — counts the New figure. Nothing is saved until you press it.

Row numbers count the heading as row 1, so they match your spreadsheet. Fix those rows and drop the file again; rows already brought in show as Already here. Each import adds a line to Settings › Activity log.

Running a file twice, and duplicates

  • Customers are matched on email. An existing customer is never duplicated or overwritten; Booked only fills a blank first name, last name or phone. A row with no usable email is skipped.
  • Services are matched on name. A service with the same name is left as it is. Flu jab against Flu Vaccination makes a second service.
  • Appointments are matched on customer email plus date and time. A match is left alone, so a newer export does not update appointments already brought in. Change a status in Booked instead.

What an imported appointment looks like

  • No staff member and no branch. Booked blocks time for the staff member on an appointment, so until an imported one has one, your booking form can offer that time to someone else. Open each upcoming one and set With and Branch. Until then the Diary shows it only on All locations and All staff, in an Unassigned column on the day view.
  • Unpaid. The price is recorded, but not that anything was paid.
  • Missing customers and services are created. A new service is 30 minutes long and priced from that row, and so is the appointment. Import services first and their real lengths are used.
  • Nobody is emailed by the import. But upcoming Confirmed appointments get Booked’s reminders if they are on (see What Booked sends, and when), so switch the old system’s off.
  • Customer since is the import date, not when they first came to you.

What does not come across

  • Your set-up. Staff, branches, hours, categories, deposits and booking questions are set up by hand.
  • Some columns that are offered. Notes on a customers file are not saved (appointment notes are). Category on a services file is not applied, and Description is not the Short description your booking form shows.
  • Money and records. Payments, saved cards, packages, documents, consent and answers stay behind.
  • Anything past 5,000 rows. Dropped without a warning; the pill reads 5,000 rows. Split bigger files.

Imported services have no staff or branches either, so they are not bookable yet. A service isn’t on the booking form covers linking them up.

Taking your data out

Take your data with you

Everything you have, as a spreadsheet, whenever you want it. It is your data; you should never have to ask for it.

Customers Services Appointments
Everything about your customers3 of 7 parts

One row per customer with as much or as little as you need. Useful for seeing who your regulars are, and it is what you send somebody who asks what you hold on them.

✓Their detailsName, email, phone and when they first booked.
✓Every appointmentWhat, when, where, with whom, and what happened — including cancellations and no-shows.
✓What they have spentTotal spend, deposits, refunds and what is outstanding.
Where they came fromThe campaign, referrer and landing page on their first booking.
Questionnaire answersEligibility and screening answers given at booking. Often health information.Sensitive
Notes about themAnything your team has written on their record, and AI consultation notes.Sensitive
Uploaded documentsIdentity and other files they uploaded. The file names and dates — never the files themselves.Sensitive
Export customers

Further down the same screen: the three plain exports, and the customer export with its seven parts.

  • 1Customers, Services, Appointments — each downloads straight away as a CSV of everything of that kind.
  • 2The seven parts — the first three are ticked to start with. The three marked Sensitive bring up a warning about looking after the file once they are ticked.
  • 3Export customers — one row per customer, with a column for each thing you ticked.
ExportColumns
Customersfirst_name, last_name, email, phone, created
Servicesname, duration, price, description (the short description), status
Appointmentsreference, email, first_name, last_name, phone, service, date, time, status, price, amount_paid, notes
Export customersOne row per customer, with columns for each part you ticked: details, appointment counts and a line per appointment, spend, how they found you, answers, notes and documents held.

The three plain exports use headings the importer recognises, so they go straight into another Booked site, and they open in Excel with accents intact. reference always reads GB- and five digits, even if you set your own format. Export customers covers up to 5,000 customers, starts with the privacy warning, and logs which parts you took.

When a customer asks for their data

  1. Open their recordIn Customers, click them, then Build their data file on the Data request card.
  2. Leave everything tickedAll seven parts start ticked; Their details cannot be unticked.
  3. Confirm and buildTick the box saying you are building it for the person it belongs to and will handle it securely, then click Build and download.

You get one ZIP: record.csv (the customer export for this person), a READ ME.txt, and a documents folder holding the files they uploaded when booking, readable. Files your team added to their record are listed by name only, so download those from its Documents card. Settings › Import & export offers the same as Somebody has asked for their data, using whatever is ticked in Everything about your customers, so tick all seven there first.

The download works once

The ZIP can be taken once, within fifteen minutes, and Booked deletes its copy as you take it. After that it is yours to look after: send it securely, delete your copy afterwards, and never email health information unencrypted.

When a customer asks to be erased

On their record, click Erase their data. There are four steps: why, then what goes and what stays, then a last check where you type their name, then a receipt.

Erase
What goes, and what has to stay
×
Goes
● Email address and phone number
● 1 upcoming appointment, cancelled and stripped of their details
● 2 notes on the profile or on appointments that did not go ahead
● How they found you, and their name in the activity trail
Stays, and why
● 6 completed appointments with their name, what was done, the screening answers, consent and staff notes. That is the pharmacy’s record of care, kept for as long as your records policy says, usually years.
● £212.00 of payments and refunds as they are. Tax records have to be kept for six years. The payment provider keeps its own copy too.
● The receipt, and one line in the activity log so it can be shown that it was done. The profile stays as “Erased customer” with no details on it.
✓Email them the receipt at grace.w@example.com before the address goes
BackKeep everythingContinue

Step two of four when erasing a customer: the counts are worked out from their own record.

  • 1Goes — contact details and everything that is not part of the record of care. Only lines that apply to this person are listed.
  • 2Stays, and why — completed appointments and every payment. A tick box appears here when completed appointments have documents, to remove those as well.
  • 3Email them the receipt — on by default when there is an address. It is sent before the address is wiped.

The receipt, referenced ER-…, stays on their record to print, save as a PDF or copy as text. The profile becomes Erased customer and is locked. Erasing cannot be undone.

Only Completed appointments count as the record of care

Past appointments still marked Confirmed are stripped like ones that never happened. Mark attended visits Completed, and map the status column when you import history.

Importing, the customer export, data files and erasing all need permission to change Settings (see Give your team their own logins). WordPress’s own personal data tools do not reach Booked’s records, so use the customer record.

A switching checklist

  1. Set up branches and staffWith their hours. See Add your first location and Add staff and their hours.
  2. Import servicesThen give each its staff, branches, short description and category.
  3. Import customersBefore appointments, so names are split properly.
  4. Import appointmentsUpcoming ones at least. Map the status column so past visits arrive as Completed.
  5. Give upcoming appointments a staff member and branchUntil then, those times can be booked again online.
  6. Swap reminders overSwitch them off in the old system and on in Booked.
  7. Make a test bookingThrough your own form, then retire the old booking page.