Importing Event Services
Import Event services (bookable services used on appointments) in bulk.

Event services import is gated by Events Advanced on your plan. Types you cannot use appear locked on the Import type grid.
Step-by-Step Guide
- Open the app drawer.
- Go to Configurations.
- Under Data Management, tap Import.
- Choose Event services on the type grid.
- Optionally tap Download template for a CSV starter (your live export).
- Upload a CSV, XLS, or XLSX file, review the preview, then confirm Import.
Prefer importing Categories (and Areas if your services use them) first when the store is empty.
Field Reference
The columns below are exactly the columns Download template gives you, in the same order.
| Field | Description | Required | Possible Values | Example |
|---|---|---|---|---|
| id | UUID identifier for the event service. Leave empty to create a new entry. | 123e4567-e89b-12d3-a456-426614174000 | ||
| name | Name of the bookable service. Also serves as the identifier — an existing name updates the matching service. | Yes | Barista Workshop | |
| description | A short note about the service. | Hands-on espresso class | ||
| is_active | Whether the service can be booked. Defaults to YES if empty. | YES, NO | YES | |
| duration_minutes | How long the booking runs, in whole minutes. | Yes | Whole number, 0 or more | 90 |
| buffer_before_minutes | Prep time reserved before the booking. Defaults to 0 if empty. | Whole number, 0 or more | 15 | |
| buffer_after_minutes | Clean-up time reserved after the booking. Defaults to 0 if empty. | Whole number, 0 or more | 15 | |
| preparation_time_minutes | Time needed to prepare for the service, in minutes. Defaults to 0 if empty. | 0 to 999999.99 | 10 | |
| max_concurrent | How many of these can run at the same time. Defaults to 1 if empty. | Whole number, 1 or more | 6 | |
| currency | ISO currency code. Export only — the import always uses your store currency and ignores this column. | ISO Currency Code | PHP | |
| color | Hex color used on the schedule board. | Up to 32 characters | #B45309 | |
| sort_order | Display order on the booking list. | Whole number, 0 or more | 1 |
There is no duration unit column — a duration is always whole minutes. Prices are not set here: what the customer pays comes from the catalog items you attach to the service.
Tips
- Match column headers to the sample CSV.
- Leave id empty to create; supply id to update.
- After import, attach catalog items on each event service in Sell → Event Services if needed.
Edge cases
- All or nothing. Every row is checked before anything is saved. One bad row stops the whole import and nothing is saved. The app lists each problem as Row 2: … and names the column.
- How a row is matched. A row matches an existing record by its id first, then by its name. A row that matches is updated, and every other row is added. A row with none of these is always added, so running a hand-made file twice makes duplicates. Export first and edit that file to update safely.
- Spreadsheet formats. You can upload .csv, .xls, or .xlsx. The file is read by what it really is, so a damaged or unreadable spreadsheet is refused as a bad format. A CSV with a single column has no separators and is refused as not being a spreadsheet, so add a second column or save it as .xlsx.
- Headers matter, not order. Extra columns are ignored. YES/NO and other fixed values accept any letter case, and blank cells fall back to the default for that column.
- Starter and up. Import is not on the free Basic plan. It needs Store Settings · Import, and Download template also needs Store Settings · Export.
- Needs Events Advanced. Without it the card is locked on the Import screen.
- Attach catalog items afterwards on each event service in Sell → Event Services if needed.
Works with
| Add-on or plan | What changes |
|---|---|
| Basic and Starter plans | Event services import is locked, because it needs Events Advanced. |
| Lite and up | Events Advanced is included. |