Import bookings from a spreadsheet
Bulk-create meeting room bookings from an Excel spreadsheet on the management calendar. Download the custom template, validate row entries, resolve conflicts, and import batches.
When migrating from legacy reservation platforms or scheduling seasonal recurring events in bulk, administrators can batch-import bookings using an Excel template. Offision validates every row against system rules—including schedule clashes, quota limits, and lead-time constraints—before creating the bookings.
1. Open the Import dialog
Open Management calendarIn the management calendar toolbar next to Book, click Import.

Click Import in the management calendar toolbar.
The dialog provides three navigation tabs: Import, Import IDs, and (if configured) Purpose IDs.

The three-step import workflow.
2. Obtain room and purpose identifiers
In the spreadsheet, rooms are identified by their Access ID or official room email address, not by their display name:
- Click the Import IDs tab to view all bookable rooms and their corresponding keys. Click the copy icon next to any identifier, or click Download to export a reference sheet.
- If your organization requires booking purposes, click the Purpose IDs tab to find the required code for each purpose.

Review and copy room Access IDs and email addresses.

Reference table for Purpose IDs.
3. Download and populate the template
Click Download template on the Import tab. The downloaded file is tailored specifically to your tenant’s custom booking form fields:
| Column Header | Format & Content |
|---|---|
| Purpose import ID | Purpose code (only present if booking purposes are active) |
| Subject | Meeting title |
| Start / End | Timestamp formatted as YYYY-MM-DD HH:mm |
| Room import ID | Room Access ID or email (comma-separated for multi-room bookings) |
| Attendees | Comma-separated participant email addresses |
| Organizer | Booking owner’s email address |
| Host | Host email address (only present if host policies are enabled) |
| Number of room users | Estimated attendee count for occupancy monitoring |
| Meeting notes | Reservation remarks or description |
| Series ID | Optional identifier (e.g. WEEKLY-SYNC) to group recurring meetings |
| Custom fields | Columns for custom form questions matching required formats |
4. Upload and validate the spreadsheet
Drag your .xlsx or .xls file into the upload zone. The system validates syntax and flags any problematic rows:

Validation summary listing only rows with formatting or lookup issues.
Common validation errors include:
- No room matches this access ID or email: Verify the key against the Import IDs tab.
- Start or end time invalid: Ensure date formatting strictly follows
YYYY-MM-DD HH:mm. - End time must be after start time: Correct inverted time ranges.
- No user matches organizer/host email: Ensure the address corresponds to an active user account.
Fix any invalid cells in your spreadsheet and upload the file again.
5. Review series and resolve conflicts
Clean rows pass directly to the series overview dialog, where the server validates each booking against real-time estate conditions:

Series overview verifying schedule conflicts, quotas, and policies.
You have two choices to complete the process:
- Book all: Commits all reservations at once. Fails if any conflict exists.
- Skip conflicts & book: Submits all conflict-free bookings immediately, setting conflicting rows aside.
6. Export and re-import skipped reservations
If you chose Skip conflicts & book, the confirmation dialog displays a breakdown of created vs bypassed bookings:

Conflicting or skipped rows can be exported, modified, and re-imported.
Click Download to export only the bypassed rows. The downloaded spreadsheet retains the exact template structure and adds an Import result column explaining why each row was skipped. Once you adjust times or assign alternative rooms, re-upload this file to complete the batch.

