Using the booking importer
Last updated: March 13, 2025
The booking importer allows FareHarbor admins to upload bookings into a client’s Dashboard using CSV files, which can reduce the manual work required during the reservation transfer process. This feature is located at an item level, and can be accessed under the Advanced section of an item’s sidebar.
Click on Booking Importer to view the import steps and begin the process.
The Booking Importer option will only appear when:
- The Dashboard is not in demo mode.
- At least one customer type has been added to the item.

Downloading the CSV template
Booking data must match specific formatting standards to import successfully. The template CSV file contains all of the correct, item-specific headers, and includes any customer prototype IDs specific to the item. Using the template can help facilitate a smoother workflow experience and reduce import errors.
Note: Customer types exist at a Dashboard level. When a customer type is added to an item, item-level customer prototypes are created to reference the relevant customer types. Customer types and customer prototypes are distinct from each other and don’t share the same IDs.
Click the Download CSV template button to download the template file.

Adding bookings to the template
Use a spreadsheet application (such as Google Sheets or Excel) to add booking information to the template file. The booking importer will display a list of all required and optional table headers, as well as the accepted data formats for each column. Customer prototypes and their IDs will be included in the list of required table headers.

Booking details must include required header information for the final import; they cannot be blank. However, you don’t necessarily need to include the optional header information in the final import.
Each row in the CSV will be one booking for the import. Use the plain text number format in your application to ensure numbers are formatted correctly.
Limitations
- Availabilities need to exist for all of the bookings being uploaded. If not, errors can occur when the import is attempted.
- Bookings that overuse capacity or resources will still be imported.
Required table headers
Explore the expanded details of this screenshot’s required table headers below. Bookings must contain data for required columns. They cannot be blank.
Availability date
- Table header format: availability_date
- Data format: YYYY-MM-DD
- Additional information: If there is a duplicate availability with the exact same date and start time, then bookings will be imported into the first availability. Multiple day-range availabilities that start on the same day are not currently supported in the booking importer.
Availability start time
- Table header format: availability_start_time
- Data format: 24:00
- Additional information:
- The time must be in 24-hour format (both
04:00and4:00are accepted). - The time must be in the Dashboard’s set timezone.
- For all-day and day-range availabilities, enter
00:00for the start time. - If there is a duplicate availability with the exact same date and start time, then bookings will be imported into the first availability. Multiple day-range availabilities that start on the same day are not currently supported in the booking importer.
- The time must be in 24-hour format (both
Name
- Table header format: contact_name
- Data format: string
- Additional information: There are no restrictions on alphanumeric or special characters.
Customer prototype (in this example, for the Person customer type)
- Table header format: person_177370 (Note: the table header format for your customer prototypes will vary depending upon the associated customer types.)
- Data format: number
- Additional information:
- Enter a positive whole integer for the number of customers associated with this customer type (PAX).
- Enter the number
0or leave it blank to indicate none of this customer type is added to a booking. - Availabilities do not have to have all customer prototypes added. However, if there is a positive integer in the booking row, then there must be a match on the destination availability.
- Customer Prototypes with an SKU will have the SKU name included in the table header.
- If there are archived customer types, they will still require a header. Enter the number
0for an archived customer type, or leave it blank.
Payment type
- Table header format: payment_type
- Data format: string
- Additional information:
- All payments must be added to the Dashboard as in-store payments. (For example, credit card, voucher, PayPal). See the setting up payment types help page for additional information.
- The payment type is case-sensitive and must be entered exactly as it appears in the Dashboard.
Total paid
- Table header format: total_paid
- Data format: 100.00
- Additional information:
- Only the number
0or a positive decimal number will be accepted. - This value cannot contain currency symbols.
- Only periods (.) can be used as the decimal point separator.
0.00is the only accepted format if the customer has not paid on the booking or the booking is free.
- Only the number
Optional table headers
Explore the expanded details of this screenshot’s optional table headers below. Since this is optional information, bookings are not required to contain these headers. If included, these columns can be blank.
Phone
- Table header format: contact_phone
- Data format: +12124567890
- Additional information:
- A phone number can contain from a minimum of five digits to a maximum of 15 digits.
- A phone number must include the country code.
- The plus sign (+) is optional.
Email
- Table header format: contact_email
- Data format: test@fareharbor.com
- Additional information: An entry must follow the standard format for emails.
Set Total
- Table header format: set_total
- Data format: 100.00
- Additional information:
- If left blank, pricing will be pulled from the Dashboard. All booking totals will be set to the Dashboard pricing for all imported bookings.
- If data is entered, only
0or a positive decimal number will be accepted. - This value cannot contain currency symbols.
- Only periods (.) can be used as the decimal point separator.
Booking Notes
- Table header format: booking_notes
- Data format: string
- Additional information: There are no restrictions on alphanumeric or special characters.
Uploading bookings
When the CSV contains all of the booking information and is ready to import, click the Upload file button and select the file you want to upload via the booking importer.
Limitations
- CSV is the only accepted file type.
- The maximum file size accepted is 1MB.
- CSVs must be uploaded and imported one at a time.

The booking importer will display error messages if there are issues with the CSV file. An error message will specify which row is associated with the error and details about what caused it. (For example, an error message may indicate there is missing information or incorrect formatting.)

Adjust the CSV file until all the errors are resolved. Once no error messages appear, you can proceed with the import. Please see the spreadsheet below for additional details about error messages that may appear.
(Note: You can search the spreadsheet for a specific error message or keyword using Command + F.)
Importing bookings
Click the Import button to import the bookings.

Error messages may appear if there are discrepancies with the import, but each error message will provide information about the root cause. (For example, an error may occur if there is an issue with the availability, or if the relevant customer prototype is not associated with the availability.)
Once the relevant issues are corrected and no more error messages appear, you can proceed with the import.
Working with imported bookings
Once an import has been completed, the associated bookings will populate and reflect the following characteristics in the Dashboard:
All imported bookings will have an activity in the booking overlay activity log that records the CSV information that was used to create the booking.

Imported bookings will display a new icon, and the admin who initiated the import will be identified as the creator.

Imported bookings will have an activity that includes a Remove option. Clicking the Remove option will delete all bookings, including modified ones, associated with the import.

Note: Bookings that have had new payment activity since the import will not be removed. (This can include payment activity via credit card, in-store payment, gift card, etc.)
