To improve efficiency and make the process of configuring schedules in Booxi easier, the "Import Staff Schedule" feature provides the ability to import schedules from an external source.
Table of Contents
Requirements & Permissions
Access to this feature is limited to users with the Admin, Manager and Supervisor roles. The feature is available in the Back Office and Head Office.
Workflow
Importing staff schedules is performed by following the below steps.
- From a workforce management tool or a spreadsheet, staff schedules are exported in .CSV format. The resulting file must be formatted per Booxi’s import template.
- From the Head or Back Office, schedules are imported using the appropriate dialog.
- Content is validated and a report is generated. If errors are found during the validation process, they must be fixed and the procedure must be repeated until there is no error left.
- Records are imported and published. A notification is displayed once records have been published successfully.
Format
Schedules must be exported in .CSV format and must include columns as listed below. If schedules are exported from an external source in a format different than the template provided by Booxi, column names must match the below table. Consult the template rules for examples of how the file and records must be formatted. Contact your Booxi representative to be provided with the import template file.
Columns
Column | Format | Identifier | Priority |
Merchant ID | Requires exact match Can contain digits If imported by a HO user - At least one field is mandatory: Merchant ID OR Store Number If imported by a BO user - Merchant ID is mandatory |
Store | 1. Merchant ID 2. Store Number |
Merchant Group ID | This field is optional. If a store ID is provided, it becomes mandatory to provide its associated Merchant Group ID. | Store | |
Store Number | Requires exact match Can contain special characters When a Store ID is provided, the field Merchant Group ID becomes mandatory. If imported by a HO user - At least one field is mandatory: Merchant ID OR Store Number If imported by a BO user - Merchant ID is mandatory |
Store | |
Staff ID | Requires exact match Can contain digits At least one field is mandatory; if using First and Last Names, both are mandatory . |
Staff | 1. Staff ID 2. First, Last Names 3. Staff Email |
Staff Email | (recipient)@(domain).(extension) At least one field is mandatory; if using First and Last Names, both are mandatory . |
Staff | |
First Name | Requires exact match Can contain special characters Case sensitive UTF-8 At least one field is mandatory; if using First and Last Names, both are mandatory . |
Staff | |
Last Name | Requires exact match Can contain special characters Case sensitive UTF-8 At least one field is mandatory; if using First and Last Names, both are mandatory . |
Staff | |
Start Date | Format ISO 8601 Must be expressed as YYYY-MM-DD |
Schedule | Both values are mandatory. |
End Date | Format ISO 8601 Must be expressed as YYYY-MM-DD |
Schedule | |
DOW Start1 | Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details | Start and End must come in pairs. If one is provided, the other becomes mandatory. |
DOW End1 | Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details | |
DOW Start2 | Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details | Start and End must come in pairs. If one is provided, the other becomes mandatory. |
DOW End2 | Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details | |
DOW StartN (Where N is a valid integer) |
Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details | Start and End must come in pairs. If one is provided, the other becomes mandatory. |
DOW EndN (Where N is a valid integer) |
Format ISO 8601 Must be expressed in 24h format Must be formatted as HH:MM. Ignore seconds and milliseconds All times in the merchant time zone |
Details |
Template Rules
- There is no maximum number of records allowed in the import file. However, the process cannot exceed 10 minutes to complete in the Head Office.
- Order in which columns appear in the file is not of importance. During the validation process, Booxi will default to the same order as found in the template.
- The encoding of the file must be Unicode (UTF-8)
- *Note: if you are using MS Excel, you may set the proper encoding by clicking "Save as" (Name your file, then select CSV file type); in the window, select "Tools", then "Web Options", making sure to select Unicode (UTF-8))
- The column names must be an exact match to the provided template.
- Each DOW (Day of the week) must have at least one Start-End pair. There is no maximum number of pairs. Each pair must follow the proper format as shown below.
- Additional Start and End columns must respect the naming convention.
- Additional columns must use the next number in sequence after Start or End.
- Additional Start and End columns must be paired (Start4 with End4, etc.).
- Example
Here’s an example for a day (Monday) with three time pairs.
Mon
Start1Mon
End1Mon
Start2Mon
End2Mon
Start3Mon
End209:00 12:00 13:00 17:00 18:00 21:00
Mon
Start1Mon
End1Tue
Start1Tue
End1Wed
Start1Wed
End109:00 18:00 09:00 18:00
Importing Schedules
From the Head Office interface, follow the below steps to import staff schedules.
- Navigate to the Personnel tab
- Click the drop-down menu (⋮)
- Select Import Staff Schedules.
- From the Import Dialog, select an appropriate .CSV file. The validation process will start automatically.
- Once the validation process is complete:
- Download the report to validate that the schedules to be imported are correct and browse the list of errors if any.
- If all records are valid, click on Import to proceed.
- If there are warnings, validate if they are acceptable or not. Fix them or opt to proceed by checking the appropriate box.
- If there are errors, fix any issues and repeat the process until the validation is successful.
Validation
Validation automatically starts upon selecting a file to import. The validation tool will analyze the CSV file to verify data accuracy, integrity and formatting. It will scan the file and search for common errors, ensure that formatting is respected and mandatory fields are present.
Once the validation process is complete, the dialog box will display a report with the following information:
- Number of “Valid” entries
- Number of “Warning” entries
- Number of “Rejected” entries
Click on the download link to get a copy of the report generated during the validation process. See the section below for a list of all error messages and how to fix each individual error.
Warning Messages
During the validation process, entries can be marked with a warning when a schedule meets one of the following criteria.
Conflicting schedule with #***
This warning message will be displayed if the start and end dates are NOT a perfect match with an existing schedule, where #**** represents the existing schedule ID that is in conflict with schedules contained in the file.
Matching schedule with #***
This warning message will be displayed if the start and end dates are a perfect match with an existing schedule, where #**** represents the existing schedule ID that is in overlap with schedules contained in the file.
Error Messages
File format, Cells and Data Validation
Validation against all columns and cells.
“Schedule start is invalid” or “Schedule end is invalid”
Reason for error: date is not formatted as YYYY-MM-DD (ISO 8061).
“Invalid time in DOW Start# / DOW End#”
Reason for error: time is not formatted properly.
Time must be expressed in 24h format.
Time must be expressed as HH:MM .
Seconds and milliseconds must be ignored.
All times must be expressed in the merchant time zone.
“Header error“
Reason for error: one or several column names are not matching the template.
Validate that each column name is an exact match with the template (values are case-sensitive).
Any extra characters such as an extra space can trigger this error. (*Note: An invisible or whitespace character can trigger this error; to fix this, ensure your file is in Unicode (UTF-8)).
Validate that all separators used are commas (",").
“Missing mandatory data”
Reason for error: mandatory data is missing and the file cannot be processed.
Validate the following data is included:
Each entry has a valid merchant ID or a Store Number and a Merchant Group ID.
If store numbers are used, a merchant group ID is mandatory.
Each entry has at least one of the following staff identification:
Staff ID
External Staff ID and External Module ID.
Staff’s first and last name
Staff’s email address
Each entry has a start date.
Each entry has an end date.
"Number of fields in row mismatch the number of header fields"
Validate that the number of fields in each row matches the number of columns.
Merchant ID and Store ID Validation
Validation against columns named “Merchant ID” and “Store ID”
“Merchant not found”
Reason for error: the import file contains an invalid merchant ID.
Validate that the Merchant ID exists. It must be an exact match with its Booxi equivalent.
Validate that the Merchant ID is linked to the user/staff initiating the import.
“Merchant/Store not found”
Reason for error: the import file contains invalid merchant or store IDs.
If a Store ID is used, a Merchant Group ID must be provided.
The Store ID and Merchant Group ID must be valid and matched.
If a Store Number, a Merchant Group ID and a Merchant ID are provided,
they must all be valid and matched.
Validate that the Merchant ID or Merchant Group ID and Store ID exists.
They must be an exact match with Booxi.
Validate the user/staff initiating the import is linked to the Merchant ID,
Store ID and Merchant Group ID found in the import file.
Staff Validation
Validation against columns named “Staff ID”, “First Name”, “Family Name”, “Staff Email”, “External Staff ID” and “External Module ID”.
“Need at least one: Staff ID or (First Name AND Last Name) or Staff Email or (External Module AND External Staff ID)”
Reason for error: staff identification is missing or incomplete or staff can’t be found.
Any provided identifier must exist in Booxi.
Each entry must include at least one of the following identifiers:
Staff ID
External Staff ID and External Module ID.
Staff’s first and last name
Staff’s email address
When using First and Family Names as identifiers, they are both required.
They must be an exact match with their corresponding record in Booxi (accents, hyphens, etc.).
When using External Staff ID as an identifier, the External Module ID becomes mandatory
and vice versa. An exact match is required.
If more than one identifier is provided, they must all be valid and matched.
“Invalid staff”
Reason for error: no corresponding staff record found in Booxi.
Validate that the staff is associated with the merchant or store provided.
Validate that the staff has a calendar.
Validate that the email is in the expected format (recipient@domain.ext)
Start and End Date Validation
Validation against columns named “Start Date” and “End Date” for each schedule.
“Invalid schedule range”
Reason for error: the start or end dates are not valid.
Validate that the schedule’s end date is in the future or on the same day as the
import is performed. End date cannot be in the past.
Validate that the schedule’s start date is earlier than the end date.
The start date can be in the past as long as the end date is in the future or
on the same day as the import is performed.
DOW Validation
Validation against columns named DOW Start# and End#.
“Incomplete daily times in range DOW Start# / DOW End#”
Note: DOW Start and DOW End will specify the faulty range (ex: Start2 / End2,etc.)
Reason for error: DOW start and end times must come in pairs.
Validate that each DOW Start# is matched with a DOW End#.
Validate that each DOW End# is matched with a DOW Start#.
All DOW entries must come in pairs.
Example of an invalid DOW (missing Fri End2)
Fri Start1 | 09:00 |
Fri End1 | 12:00 |
Fri Start2 | 13:00 |
Fri End2 |
"Overlapping work hours"
Reason for error: hours specified in DOW start and end are not sequential.
Validate that each start and end pair are sequential.
Example of a non-sequential DOW (overlapping pairs)
Fri Start1 | 09:00 |
Fri End1 | 13:00 |
Fri Start2 | 12:00 |
Fri End2 | 18:00 |
“Work hours ‘HH:MM - HH:MM’ in range ‘DOW Start# / DOW End#’ are empty”
Reason for error: Overlapping pairs or end time is earlier than start time.
Validate that each start time is earlier than is matched end time.
Example of a conflicting/overlapping DOW
Fri Start1 | 12:00 |
Fri End1 | 09:00 |
Validation Report
Upon completing the validation, a report will be generated and made available to download. The report will include a summary of all entries processed each with an assigned status “valid”, “warning”, along with any applicable error message. Errors can be corrected directly in the report and reuploaded for validation.
Consult your Booxi representative for a sample.
Importing Validated Data
Once an error-free validation has been completed on the file, it can be imported and published by clicking on the “Import” button found in the import dialog.
If warnings are found during the validation, they can be fixed directly in the reports as errors would. It is however possible to import schedules with warnings if the checkbox “Accept warnings and proceed” is checked.
Upon completion, the schedules will become active and visible to all members of staff.
Schedules shown in the Back Office (“My Business” > “Open hours” and “Personnel” > “Work schedule” > “Weekly work schedule”) are limited to 100 entries. If you create schedules for individual days (e.g.: from Jan 1-Jan 1, Jan 2-Jan 2), your schedule count may be higher than 100 and therefore some of your data will not be shown. For this reason, we strongly recommend creating schedules for a longer period of time, such as weekly, bi-weekly, monthly, yearly or seasonal (see here for more info); this is in fact how the schedule functionality is intended to be used.