Import visits from a spreadsheet
Bulk-create visitor invitations from an Excel spreadsheet on the Visiting calendar, group multiple visitors onto one visit with a shared Visit ID, and fix flagged rows before creating visits.
Use Import on the Visiting calendar to bulk-create visitor invitations from an Excel spreadsheet (one row per visitor). Imported visits trigger approval rules, send invitation badges, and check visitors in identically to manually created invitations — ideal for conference guest lists or migrating scheduled visits from another system.
1. Open the Visiting calendar and click Import
Go to Visiting › Invitation (titled Visiting calendar) and click Import next to Invite visitors.

Import button next to Invite visitors on the Visiting calendar.
The left navigation lists Import, Location import IDs, and Visiting purpose import IDs (shown whenever at least one visiting purpose has an Access ID).

Import dialog workflow: download the template, fill in visits, and upload the spreadsheet.
2. Check Location and Visiting purpose import IDs
Spreadsheets reference buildings, rooms, and purposes by Access ID rather than display name:
- Location import IDs: Lists every building and visiting room with a copy button and Download (exports the ID table to Excel). Hover over any building missing an ID and click the pencil icon to assign one inline.
- Visiting purpose import IDs: Lists each purpose’s Access ID, with a pencil icon to edit the purpose directly.

Location import IDs tab listing Access IDs for buildings and visiting rooms.

Visiting purpose import IDs tab showing codes for the Visiting purpose column.
3. Download the tenant spreadsheet template
Click Download template to generate an Excel file tailored to your tenant’s visiting purposes and custom form fields (including two sample rows sharing one Visit ID):
| Column | Expected value |
|---|---|
| Visiting purpose (import ID) | Present when a purpose has an Access ID; enter a code from Visiting purpose import IDs |
| Visit ID | Optional. Rows with the same Visit ID merge into one group visit; blank creates an individual visit |
| Start / End | YYYY-MM-DD HH:mm in the destination building’s local time zone |
| All day | yes or no |
| Location (import ID) | Building or room Access ID (separate multiple IDs with commas) |
| Host | Staff email address; leave blank to assign yourself as host |
| Visitor name | Required on every row |
| Email / Mobile number / Customize key | Provide at least one accepted visitor identifier (include country code for mobile numbers) |
| Company / Job title / Department / Phone number | Optional visitor profile details |
| Remarks (to receptionist) | Internal front-desk note (hidden from the visitor) |
| Extra fields (one column each) | Header specifies required format (YYYY-MM-DD, HH:mm, yes/no, 123, or option names) |
File-upload and rich-text extra fields cannot be imported from a spreadsheet and are omitted from the template.
4. Enter your visits and group multi-visitor appointments
Enter one row per visitor. To put multiple guests onto the same appointment, give their rows the same Visit ID and identical purpose, location, host, and times (only visitor columns may differ).

Rows sharing a Visit ID merge into one multi-visitor appointment; blank Visit IDs create individual visits.
Start and end times are interpreted in the destination location’s local time zone regardless of where you upload the file from. The preview banner confirms which time zone was used.
5. Upload the file and resolve flagged rows
Upload your .xlsx or .xls file under Choose a file. The preview displays ready and need attention counts and lists only problem visits alongside their Excel row numbers:

Validation preview listing only visits that need attention and their source row numbers.
| Validation message | Cause and fix |
|---|---|
| No visiting purpose has this import ID | Code does not match any entry on Visiting purpose import IDs |
| Start or end time is missing or unreadable | Cell is empty or not formatted as YYYY-MM-DD HH:mm |
| End time is before the start time | Start and end timestamps are reversed |
| No location given | Location (import ID) is blank |
| No building or room has this import ID | Code does not match any entry on Location import IDs |
| This building has used up its visitor quota for this month | Building’s monthly licence visitor quota is exhausted |
| No user has this email address | Host email does not match an Offision user |
| This user cannot invite visitors (missing permission or license) | Host lacks visitor invitation permissions or licence |
| Visitor name is required | Visitor name is blank |
| Give an email address, mobile number or lookup key | Row lacks an identifier accepted by your visiting settings |
| Add a country code to the mobile number | Mobile number has no international country code |
| This country code is not enabled in the visitor management settings | Country code is not enabled (add the country code) |
| Rows with this Visit ID disagree on the visit details | Grouped rows have different purposes, locations, hosts, or times |
| Same visitors, place and time as an earlier visit | Duplicate visit in the sheet; only the first occurrence is kept |
Click Download rows to fix to export only the flagged rows into a clean template so you can create the valid visits now and re-upload the corrected rows separately.
6. Create the visits
The footer summarizes how many visits and visitors are ready. Click Create visits to import valid visits one by one (even if flagged rows remain above).

Import summary footer showing ready visit and visitor counts beside Create visits.
If any visit fails server-side creation, the completion notice lists its row numbers (”… could not be created.”) while all other rows are saved.
7. Verify imported visits on the calendar
Close the dialog and confirm that the visits appear on the Visiting calendar. Imported visits follow standard approval rules, send badge invitations upon approval, and check in at reception like any manual invitation.
What calendar import does not cover
- Visitor profiles and long-term badges: Calendar import creates scheduled appointments; use the separate imports on Visitor Long-Term Badge for standing passes.
- Employee group invitations in the user app: Staff inviting guests from the Offision user app use the Import button inside the app’s invitation form instead (see Invite a visitor).

