# Create Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/create-billable-item
/api-reference/openapi-mintlify.yaml post /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Delete Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/delete-billable-item
/api-reference/openapi-mintlify.yaml delete /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Get Billable Items
Source: https://docs.sonderplan.com/api-reference/billable-item/get-billable-items
/api-reference/openapi-mintlify.yaml get /v2/billable-item
Billable items can be added to bookings, quotes, and invoices as predefined entries with a fixed unit price.
Examples of billable items include catering services provided to clients, storage fees (typically charged per terabyte), and media transcoding (usually billed per minute).
`READ` access to the `SALES` module is required to access this endpoint
# Update Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/update-billable-item
/api-reference/openapi-mintlify.yaml put /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Bulk Bookings
Source: https://docs.sonderplan.com/api-reference/booking/bulk-bookings
/api-reference/openapi-mintlify.yaml post /v2/booking/bulk
This endpoint implements Create, Update and Delete of bulk bookings. It is intended for *one time* import operations, or other use cases that require higher performance at the expense of notification and realtime update features.
`WRITE` access to the `SCHEDULE` module is required to access this endpointBookings created, edited or deleted using this endpoint won't trigger **email notifications**, **web-hooks** or **realtime schedule updates**
# Create Booking
Source: https://docs.sonderplan.com/api-reference/booking/create-booking
/api-reference/openapi-mintlify.yaml post /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
The `bookingCreated` webhook will be fired when this endpoint has run successfullyTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Delete Booking
Source: https://docs.sonderplan.com/api-reference/booking/delete-booking
/api-reference/openapi-mintlify.yaml delete /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpointTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Get Booking Clashes
Source: https://docs.sonderplan.com/api-reference/booking/get-booking-clashes
/api-reference/openapi-mintlify.yaml get /v2/booking/checkclash
A booking clash is when one or more bookings overlap in time and (optionally) resources, which would create a double booking or scheduling conflict.
`READ` access to the `SCHEDULE` module is required to access this endpointIf you are creating a booking and want to be sure there won't be a collision, you **don't** need to call this endpoint first.
New and updated bookings are automatically checked for clashes, unless the `check_clashes=false` is present as a query parameter.
# Get Bookings
Source: https://docs.sonderplan.com/api-reference/booking/get-bookings
/api-reference/openapi-mintlify.yaml get /v2/booking
Bookings can be understood as time-based events (with start and end dates / times), which are typically represented on a calendar.
Bookings include details about the event's timing, the resources being used, and additional information such as the client, associated project, rate details, and any custom attributes defined through custom fields.
`READ` access to the `SCHEDULE` module is required to access this endpoint
# Lock Booking
Source: https://docs.sonderplan.com/api-reference/booking/lock-booking
/api-reference/openapi-mintlify.yaml put /v2/booking/lock
The Sonderplan user interface features a booking locking system that prevents accidental overwrites when multiple users are editing the same booking.
A booking lock is automatically created for a user that opens the booking editor sidebar, or clicks on *Edit* in the advanced booking editor. The lock is automatically deleted if the user saves and closes, or cancels the save operation.
Booking locks automatically created by Sonderplan will last for 10 minutes, unless extended by the user when a lock expiration warning is shown. It is possible to manually lock and unlock bookings with these API endpoints and set the lock time to a custom time as required.
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
# Unlock Booking
Source: https://docs.sonderplan.com/api-reference/booking/unlock-booking
/api-reference/openapi-mintlify.yaml put /v2/booking/unlock
The Sonderplan user interface features a booking locking system that prevents accidental overwrites when multiple users are editing the same booking.
A booking lock is automatically created for a user that opens the booking editor sidebar, or clicks on *Edit* in the advanced booking editor. The lock is automatically deleted if the user saves and closes, or cancels the save operation.
Booking locks automatically created by Sonderplan will last for 10 minutes, unless extended by the user when a lock expiration warning is shown. It is possible to manually lock and unlock bookings with these API endpoints and set the lock time to a custom time as required.
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
# Update Booking
Source: https://docs.sonderplan.com/api-reference/booking/update-booking
/api-reference/openapi-mintlify.yaml put /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
The `bookingEdited` webhook will be fired when this endpoint has run successfullyTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Create Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/create-calendar-subscription
/api-reference/openapi-mintlify.yaml post /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/delete-calendar-subscription
/api-reference/openapi-mintlify.yaml delete /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Calendar Subscriptions
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/get-calendar-subscriptions
/api-reference/openapi-mintlify.yaml get /v2/calendar-subscription/import
Sonderplan supports calendar subscriptions for both importing and exporting events, using the standard iCalendar format. This format is widely supported by popular calendar services like Google Calendar, Outlook, and Apple iCloud.
### Import Calendar Sync Subscriptions
Import calendar sync allows you to bring external events into Sonderplan, such as syncing events from Google Calendar to Sonderplan bookings or sharing bookings between two separate Sonderplan instances.
To set up an import, you can generate an iCalendar feed URL from the external calendar (e.g., Google Calendar) and copy it into a new Import Calendar subscription in Sonderplan. During setup, you can define default properties for imported bookings, such as resources, status, and associated projects.
Sonderplan automatically checks these feeds at least once an hour and updates the schedule with any changes to the imported events.
### Export Calendar Subscriptions
Export calendar subscriptions allow you to share bookings from Sonderplan with external calendars, such as syncing the bookings of specific resources to a shared Google Calendar.
To enable export feeds, you must activate booking feeds for resources, schedules, or projects in the Sonderplan UI. The feed URL can then be retrieved from the corresponding endpoint using the `feed` property, which can be shared or integrated with external calendar systems.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/update-calendar-subscription
/api-reference/openapi-mintlify.yaml put /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Contact
Source: https://docs.sonderplan.com/api-reference/contact/create-contact
/api-reference/openapi-mintlify.yaml post /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpoint
The `contactCreated` webhook will be fired when this endpoint has run successfullyUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Delete Contact
Source: https://docs.sonderplan.com/api-reference/contact/delete-contact
/api-reference/openapi-mintlify.yaml delete /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpointUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Get Contacts
Source: https://docs.sonderplan.com/api-reference/contact/get-contacts
/api-reference/openapi-mintlify.yaml get /v2/contact
You can create contacts for anyone you need to keep in touch with, such as your clients, suppliers, staff, or even resources.
Contacts help you store and organize important details like phone numbers, email addresses, and other contact information, making it easy to manage communication across your projects.
`READ` access to the `CONTACT` module is required to access this endpointUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Update Contact
Source: https://docs.sonderplan.com/api-reference/contact/update-contact
/api-reference/openapi-mintlify.yaml put /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpoint
The `contactEdited` webhook will be fired when this endpoint has run successfullyUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Create Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/create-custom-field
/api-reference/openapi-mintlify.yaml post /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/delete-custom-field
/api-reference/openapi-mintlify.yaml delete /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Custom Fields
Source: https://docs.sonderplan.com/api-reference/custom-field/get-custom-fields
/api-reference/openapi-mintlify.yaml get /v2/custom-field
Custom fields are user-defined fields that let you capture additional information tailored to your organization’s specific needs. They can be added to bookings, projects, resources, contacts, quotes, and invoices, offering the flexibility to store and manage data not covered by the default fields.
Custom fields can be configured with three input types: single-line text, multi-line text, and dropdown select menus with predefined options.
For example, you could use custom fields to track additional producers, links to files in external systems, internal notes, or client preferences.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/update-custom-field
/api-reference/openapi-mintlify.yaml put /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Group
Source: https://docs.sonderplan.com/api-reference/group/create-group
/api-reference/openapi-mintlify.yaml post /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Group
Source: https://docs.sonderplan.com/api-reference/group/delete-group
/api-reference/openapi-mintlify.yaml delete /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Groups
Source: https://docs.sonderplan.com/api-reference/group/get-groups
/api-reference/openapi-mintlify.yaml get /v2/group
In Sonderplan, a Group is a set of users who share the same permissions and access rights. Groups simplify user management by assigning roles and responsibilities collectively rather than individually.
For instance, you can create groups for administrators and staff members, each with tailored permissions, such as access to specific resources, schedules, or features. You can also restrict access to certain modules, like quotes and invoices, for specific groups.
Groups ensure consistent access control, streamline role-based management, and make it easy to update permissions for multiple users at once.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Group
Source: https://docs.sonderplan.com/api-reference/group/update-group
/api-reference/openapi-mintlify.yaml put /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Instance
Source: https://docs.sonderplan.com/api-reference/instance/get-instance
/api-reference/openapi-mintlify.yaml get /v2/instance
Use this endpoint to retrieve meta and usage information about your Sonderplan instance
`READ` access to the `ADMIN` module is required to access this endpoint
# Create Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/create-invoice-template
/api-reference/openapi-mintlify.yaml post /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/delete-invoice-template
/api-reference/openapi-mintlify.yaml delete /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Invoice Templates
Source: https://docs.sonderplan.com/api-reference/invoice-template/get-invoice-templates
/api-reference/openapi-mintlify.yaml get /v2/invoice-template
An invoice (or quote) template is a customizable layout used to generate invoices and quotes with a consistent format and design.
It defines how details such as client information, items, taxes, and totals are displayed. Invoice templates can include your branding elements, like logos and company information, as well as custom fields or notes specific to your business needs.
Both **Quote** and **Invoice** templates can be created, edited and deleted using this endpoint so be sure to use the correct `type_id`.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/update-invoice-template
/api-reference/openapi-mintlify.yaml put /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/create-invoice
/api-reference/openapi-mintlify.yaml post /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceCreated` webhook will be fired when this endpoint has run successfully
# Delete Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/delete-invoice
/api-reference/openapi-mintlify.yaml delete /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
# Duplicate Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/duplicate-invoice
/api-reference/openapi-mintlify.yaml post /v2/invoice/duplicate
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceCreated` webhook will be fired when this endpoint has run successfully
# Generate Invoice PDF
Source: https://docs.sonderplan.com/api-reference/invoice/generate-invoice-pdf
/api-reference/openapi-mintlify.yaml get /v2/invoice/pdf
Retrieves a PDF‐formatted version of an existing invoice.
Clients issue a GET request to `/v2/invoice/pdf?id={id}` where `{id}` is the numeric identifier of the invoice you wish to download. On success, the server responds with `HTTP 200` and streams back a binary PDF `(Content-Type: application/pdf)` along with a Content-Disposition header that suggests the filename.
Because this is a read-only operation, it is safe and idempotent, and responses can be cached by HTTP caches or CDNs. If no invoice exists with the given ID, the endpoint returns HTTP 404 with a JSON error payload; any unexpected failure returns HTTP 500 with an explanatory message.
`READ` access to the `SALES` module is required to access this endpoint
# Get Invoices
Source: https://docs.sonderplan.com/api-reference/invoice/get-invoices
/api-reference/openapi-mintlify.yaml get /v2/invoice
An invoice is a financial document issued to a client to request payment for services rendered or resources used.
Invoices typically include key details such as the client’s information, a list of bookings, services or items being billed, applicable rates, taxes, discounts, and the total amount due. They serve as an official record of the transaction and can be customized to include additional details like payment terms, due dates, or custom notes.
Invoices may also be generated from approved quotes, streamlining the billing process.
`READ` access to the `SALES` module is required to access this endpoint
# Update Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/update-invoice
/api-reference/openapi-mintlify.yaml put /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceEdited` webhook will be fired when this endpoint has run successfully
# Create Project
Source: https://docs.sonderplan.com/api-reference/project/create-project
/api-reference/openapi-mintlify.yaml post /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
The `projectCreated` webhook will be fired when this endpoint has run successfully
# Create Project Folder
Source: https://docs.sonderplan.com/api-reference/project/create-project-folder
/api-reference/openapi-mintlify.yaml post /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Create Project Phase
Source: https://docs.sonderplan.com/api-reference/project/create-project-phase
/api-reference/openapi-mintlify.yaml post /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project
Source: https://docs.sonderplan.com/api-reference/project/delete-project
/api-reference/openapi-mintlify.yaml delete /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project Folder
Source: https://docs.sonderplan.com/api-reference/project/delete-project-folder
/api-reference/openapi-mintlify.yaml delete /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project Phase
Source: https://docs.sonderplan.com/api-reference/project/delete-project-phase
/api-reference/openapi-mintlify.yaml delete /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Get Project Folders
Source: https://docs.sonderplan.com/api-reference/project/get-project-folders
/api-reference/openapi-mintlify.yaml get /v2/project/folder
Project folders enable projects to be grouped and organized into one or more hierarchical levels.
For example, if you're working on an episodic production, you can create a project folder for the season or series and organize all related projects within that folder.
`READ` access to the `PROJECT` module is required to access this endpoint
# Get Project Phases
Source: https://docs.sonderplan.com/api-reference/project/get-project-phases
/api-reference/openapi-mintlify.yaml get /v2/project/phase
Projects are often divided into distinct phases, each associated with one or more deadlines. Project phases provide a way to visually organize and track your project's progress using phase markers and deadlines displayed on the Sonderplan Project Timeline.
For example, in a typical post-production workflow, you might have phases for ingesting media, assembly editing, offline/online editing, grading, and final export.
`READ` access to the `PROJECT` module is required to access this endpoint
# Get Projects
Source: https://docs.sonderplan.com/api-reference/project/get-projects
/api-reference/openapi-mintlify.yaml get /v2/project
In Sonderplan a project represents a container for grouping related bookings, files, quotes and invoices. Projects allow users to organize their work by associating bookings with a specific purpose, client, or final deliverable (such as a movie or commercial).
Projects include metadata such as the project name, client information, deadlines, files, and any custom attributes defined (via custom fields) by the user. This helps streamline project management and reporting by keeping all relevant details in one place.
`READ` access to the `PROJECT` module is required to access this endpoint
# Update Project
Source: https://docs.sonderplan.com/api-reference/project/update-project
/api-reference/openapi-mintlify.yaml put /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
The `projectEdited` webhook will be fired when this endpoint has run successfully
# Update Project Folder
Source: https://docs.sonderplan.com/api-reference/project/update-project-folder
/api-reference/openapi-mintlify.yaml put /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Update Project Phase
Source: https://docs.sonderplan.com/api-reference/project/update-project-phase
/api-reference/openapi-mintlify.yaml put /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Create Quote
Source: https://docs.sonderplan.com/api-reference/quote/create-quote
/api-reference/openapi-mintlify.yaml post /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteCreated` webhook will be fired when this endpoint has run successfully
# Delete Quote
Source: https://docs.sonderplan.com/api-reference/quote/delete-quote
/api-reference/openapi-mintlify.yaml delete /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
# Duplicate Quote
Source: https://docs.sonderplan.com/api-reference/quote/duplicate-quote
/api-reference/openapi-mintlify.yaml post /v2/quote/duplicate
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteCreated` webhook will be fired when this endpoint has run successfully
# Generate Quote PDF
Source: https://docs.sonderplan.com/api-reference/quote/generate-quote-pdf
/api-reference/openapi-mintlify.yaml get /v2/quote/pdf
Retrieves a PDF‐formatted version of an existing quote.
Clients issue a GET request to `/v2/quote/pdf?id={id}` where `{id}` is the numeric identifier of the quote you wish to download. On success, the server responds with `HTTP 200` and streams back a binary PDF `(Content-Type: application/pdf)` along with a Content-Disposition header that suggests the filename.
Because this is a read-only operation, it is safe and idempotent, and responses can be cached by HTTP caches or CDNs. If no quote exists with the given ID, the endpoint returns HTTP 404 with a JSON error payload; any unexpected failure returns HTTP 500 with an explanatory message.
`READ` access to the `SALES` module is required to access this endpoint
# Get Quotes
Source: https://docs.sonderplan.com/api-reference/quote/get-quotes
/api-reference/openapi-mintlify.yaml get /v2/quote
In Sonderplan, a quote is a detailed proposal that outlines the estimated costs for a project or set of bookings.
Quotes typically include information such as the client, associated bookings, resources, rates, taxes, discounts, and any additional charges or custom details. They are used to provide clients with a clear breakdown of costs before confirming a project, helping ensure transparency and agreement on pricing.
Once approved, quotes can often be converted into invoices or used as a basis for further planning.
`READ` access to the `SALES` module is required to access this endpoint
# Update Quote
Source: https://docs.sonderplan.com/api-reference/quote/update-quote
/api-reference/openapi-mintlify.yaml put /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteEdited` webhook will be fired when this endpoint has run successfully
# Get Rate Schemes
Source: https://docs.sonderplan.com/api-reference/rate-scheme/get-rate-schemes
/api-reference/openapi-mintlify.yaml get /v2/rate-scheme
Rate schemes function like rate cards, allowing you to define costs and discounts for each resource. They can be tailored based on criteria such as date, time, client, or a combination of these.
Each rate scheme lets you specify hourly, daily, and weekly buy and sell rates, providing flexibility to match your pricing structure.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/update-rate-scheme
/api-reference/openapi-mintlify.yaml put /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create User
Source: https://docs.sonderplan.com/api-reference/user/create-user
/api-reference/openapi-mintlify.yaml post /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpointIf you are using Sonderplan on a **Flexible Billing** plan, creating users will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
# Delete User
Source: https://docs.sonderplan.com/api-reference/user/delete-user
/api-reference/openapi-mintlify.yaml delete /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpointIf you're using Sonderplan with a **Flexible Billing** plan, deleting users will generate unused time credits for the user. These credits will be automatically applied to your account and used toward future invoices.
# Get Users
Source: https://docs.sonderplan.com/api-reference/user/get-users
/api-reference/openapi-mintlify.yaml get /v2/user
A user in Sonderplan is an individual with access to the platform, typically associated with an account used to manage bookings, resources, projects, create quotes and invoices, and perform administrative tasks.
Each user’s permissions are determined by their group membership, which assigns roles such as administrator, staff member, or limited-access user. These roles define what actions the user can perform and the data they can view or edit within the system.
Every user is aliased to a contact record and can have personalized settings, including notification preferences and default configurations.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update User
Source: https://docs.sonderplan.com/api-reference/user/update-user
/api-reference/openapi-mintlify.yaml put /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpoint
# API Clients
Source: https://docs.sonderplan.com/en/admin/api-clients
Create and configure API clients to build custom applications using RESTful APIs, enabling flexible integration and development.
API clients allow you to integrate external applications or services with Sonderplan using our RESTful API. Each API client is assigned to a specific Sonderplan user, inheriting their user group permissions and ensuring that the external application can perform only actions authorized for that user. This provides a secure and precise mechanism for managing integration points, custom applications, and automated workflows.
We recommend creating separate API clients for each distinct use case or integration. By isolating API clients, you reduce risks associated with credential exposure or unauthorized access, and it becomes easier to audit and manage access, troubleshoot issues, and enforce precise permission scopes tailored to each integration scenario.
## Creating an API Client
1. Expand **Admin** then click **Integrations -> New -> Api Client**, the sidebar editor opens.
2. Enter a **description** on the purpose of the API Client, for example *"Zapier client"*
3. Select the **User** that this API Client should be linked to. The API Client will have the same permissions as the User
We recommend creating a dedicated user for your API integrations, placed in a User Group with the least permissions possible.
4. Click **Save** to create the API Client.
5. The Authentication Bearer Token is **displayed once only**. Be sure to copy the token before closing the API Client sidebar.
API Client tokens expire after a period of 5 years, but can be withdrawn and reset instantly.
## Modifying an API Client
It is currently only possible to modify the description of an existing API client.
To edit an API client:
1. Click the **Client Id** in the API Clients Data Table, this opens the API Client sidebar editor.
2. Edit the **Description** field
3. Click **Save**
## Deleting an API Client
Deleting an API Client immediately revokes the authentication token so that it can no longer be used to make requests to the Sonderplan REST API.
To delete an API client:
1. Click the **Client Id** in the API Clients Data Table, this opens the API Client sidebar editor.
2. Click the **** button in the bottom right corner of the editor.
3. Click the **Delete** button in the delete confirmation popover.
## Further Resources
Explore our comprehensive REST API documentation to learn how to build powerful integrations, automate tasks, and extend your companies capabilities.
Set up a new API client, integrate it with Zapier, and build a test Zap to automate workflows and streamline data connections.
# Booking Statuses
Source: https://docs.sonderplan.com/en/admin/booking-statuses
Learn how Admins can create and manage custom booking statuses, complete with colour coding and notification settings to match your workflow.
The *Booking Statuses* screen allows administrators to define and manage custom statuses used across all bookings in the Schedule. This feature helps categorise bookings by their stage or purpose, making it easier for your team to understand the status of work at a glance.
To manage Booking Statuses go to **Schedule -> -> Booking Statuses**.
The Booking Statuses window will **open**.
## Create / Edit a Booking Status
1. Use the button at the bottom to create a new Booking Status.
2. Enter the **name** of the Booking Status in the input text field. Common examples include "Pending", "Confirmed", "First Hold", "Second Hold" and "Maintenance".
3. Click the colour picker to assign a **colour** to the booking status. Bookings will use this colour when they have been assigned this status.
If you are migrating from another tool, we recommend keeping the colours consistent with your existing tool to help make your teams adjustment easier.
4. The ** notification** toggle switch lets you control whether a status will trigger email notifications when bookings are created or updated. This is useful for suppressing notifications on tentative or internal bookings (e.g., "Pending" or "Hold").
5. Use the ** drag** handles on the left to **reorder** statuses. This order will be reflected in the booking editor status menus.
6. Click **Save Changes** to apply your updates
7. Repeat these steps for to create as many statuses as you require.
## Delete a Booking Status
1. To delete a booking status click the button next to the custom status you wish to delete.
2. A delete confirmation popup is shown, click **Delete** to confirm the deletion.
# Calendar Feeds & Subscriptions
Source: https://docs.sonderplan.com/en/admin/calendar-subscriptions
Learn how to generate and subscribe to iCalendar feeds, enabling automatic synchronization of your schedule with external calendar applications.
Sonderplan supports exporting and importing calendar feeds so that bookings can be synchronised with third party calendar apps that support the standard iCalendar calendar format such as Apple Calendar, Google Calendar and Microsoft Outlook.
### Keep Calendar Feed URLs Private
Calendar URL links should not be shared with anyone as this would give them access to your booking information.
If you're worried the link has been compromised, you can toggle the calendar feed enable checkbox to regenerate the link.
## Export Feeds from Sonderplan
To export bookings from Sonderplan to a third party calendar (eg Google Calendar, Outlook, Apple Calendar), you'll need to first decide which Sonderplan feed type is best suited to your needs.
```mermaid theme={null}
flowchart LR
A("Sonderplan
Booking Feed Export
(iCalendar)") --> B("Google Calendar")
A --> C("Outlook Calendar")
A --> D("Apple Calendar")
A --> E("Sonderplan")
A --> F("Any Calendar that supports iCalendar import")
```
#### Types of Export Feeds
Sonderplan supports creating export iCalendar feeds at many different *levels*. To help avoid overloading external calendars, choose the type that gives the relevant people access to only the bookings they need to see.
Exports bookings for a single user where they are assigned as a resource or as a client
Exports all bookings assigned to a single project
Exports all bookings for a single resource such as a room, person resource or equipment
Exports bookings for all resources on a specific schedule
#### Can feed subscribers make changes to bookings?
No, the iCalendar format (.ics) does not support bidirectional updates. It is fundamentally a one-way feed format, intended primarily for exporting calendar data from a source (server/application) to a client.
#### Feed Update Frequency
When Bookings are created, edited or deleted, **Sonderplan will update all iCalendar feeds within 10 minutes**.
It is up to the receiving calendar application (Apple Calendar, Google Calendar and Microsoft Outlook) to decide how often to check for updates. Generally most calendars check once every 24 hours.
If after 24 hours changes to bookings are not still not syncing to your calendar, please try and toggle the calendar to try and force a re-sync. If this fails, please contact the support department of your calendar software for troubleshooting information.
***
### Personal (User) Feed
Personal calendar feeds contain all the bookings that you are involved with. They are ideal if you want to have your relevant bookings from Sonderplan appear in your native calendar app on your phone.
#### Inclusion Requirements
One or more of the following parameters must be true for bookings to be shown in the **Personal Calendar Feed**.
* Direct assignment of user resource
* Booking's direct client is the user
* Booking's organization matches the user's organization
* Booking is linked to a project where the user is set as the project client, either directly or via common organization
#### Create User Feed
All Users can create a personal calendar feed for themselves. Click on the **sidebar menu -> your name -> My Account**. Under the **Personal Calendar Feed** section, click the **Enable Calendar Feed** checkbox.
You can copy the feed to your clipboard by clicking the button to the right of the text field. Paste this calendar url into your calendar application.
#### Delete User Feed
To delete the calendar feed, uncheck the **Enable Calendar Feed** checkbox. The feed will be deleted within 10 minutes.
***
### Project Feed
To access this option you'll need to be in a group with access to the Administration module or assigned as a project admin within the relevant project
Project feeds can keep your team up to date with the bookings related to a project, even if they don't have a Sonderplan account.
#### Create a Project Feed
To create a project feed, open the relevant **Project** -> click **Settings tab -> Project Booking Feed**, then click the **Enable Calendar Feed** checkbox.
You can copy the feed to your clipboard by clicking the button to the right of the text field. Paste this calendar url into your calendar application.
#### Delete a Project Feed
To delete the calendar feed, uncheck the **Enable Calendar Feed** checkbox. The feed will be deleted within 10 minutes.
***
### Resource Feed
Individual resource calendar feeds can be used to display upcoming bookings on most meeting room screens. The meeting room screen must support importing iCalendar feeds.
#### Create a Resource Feed
To create a resource feed click on the **sidebar menu -> Admin -> Resources -> *"Name of the resource"* -> Booking Calendar Feed**, then click the **Enable Calendar Feed** checkbox.
You can copy the feed to your clipboard by clicking the button to the right of the text field. Paste this calendar url into your calendar application.
#### Delete a Resource Feed
To delete the calendar feed, uncheck the **Enable Calendar Feed** checkbox. The feed will be deleted within 10 minutes.
***
### Schedule Feed
Schedule feeds contain all the bookings for all the resources assigned to a particular schedule.
#### Create a Schedule Feed
To create a schedule feed click on the **sidebar menu -> Admin -> Schedules -> "Name of the schedule" -> **, then click the **Enable Calendar Feed** checkbox.
You can copy the feed to your clipboard by clicking the button to the right of the text field. Paste this calendar url into your calendar application.
#### Delete a Schedule Feed
To delete the calendar feed, uncheck the **Enable Calendar Feed** checkbox. The feed will be deleted within 10 minutes.
***
## Import Feeds to Sonderplan
Sonderplan supports importing and synchronising with third party calendar services such as Google Calendar, Office 365 or any service using the standard iCalendar calendar feed format. **We refer to the importing of calendar feeds as "Calendar Subscriptions".**
```mermaid theme={null}
flowchart LR
B("Google Calendar") --> A("Sonderplan
Booking Feed Import
(iCalendar)")
C("Outlook Calendar") --> A
D("iCloud Calendar") --> A
E("Sonderplan") --> A
F("Any Calendar that supports iCalendar export") --> A
```
You can also use the import calendar subscriptions feature to automatically sync bookings from Sonderplan itself, for example to automatically copy bookings from one resource to another, or to enable collaboration on a project with another company who also uses Sonderplan.
#### Import Update Frequency
We attempt to check for updates once an hour but this may vary depending on traffic and server load. If you have concerns about the synchronisation, please check the calendar subscription logs to see when the last most recent update was.
#### Account Limits
The amount of calendar subscriptions you can create depends on your subscription package. Please contact Sonderplan support if you wish to purchase additional calendar subscriptions.
### Create Calendar Subscription
To create a new calendar subscription, navigate to the **Schedule -> ** button **-> Calendar Subscriptions**.
In the **Calendar Sharing (Feeds) -> Import** window, click the **** button and paste in your calendar feed url (.ics).
Next click the **Booking Properties** button and set the resources, status, project and client that will be assigned to all bookings created from the feed.
Finally, click the **** button to create the calendar subscription.
Due to some current technical limitations, bookings added via calendar feeds do not live reload on the schedule. You may need to periodically refresh the browser to see new bookings.
### Troubleshooting Calendar Subscriptions
If you are having any issues with calendar subscription imports, please first check the logs for the subscription by clicking on the logs icon next to the relevant subscription. If too many errors are encountered, the subscription will also be automatically disabled.
# Custom Fields
Source: https://docs.sonderplan.com/en/admin/custom-fields
Extend Sonderplan’s data model to capture the unique information your team needs with flexible, user-defined custom fields.
Custom Fields let you tailor Sonderplan to your team’s exact needs by adding your own data fields across modules—whether it’s recording project-specific notes, adding equipment serial numbers, or tracking custom statuses. In this section, you’ll learn how to create, configure and manage custom fields, choose the right field types for your data, and control where and when they appear in your workflows.
## Field Types
Sonderplan offers six versatile field types to capture whatever data your business needs:
### Text
Ideal for single‐line inputs like serial numbers or short labels.
### Textarea
Perfect for multi‐line notes, descriptions, or detailed comments, this field dynamically expands as you type.
### Select Menu
Great for a predefined list of options—perfect for statuses or categories.
### Number
For quantitative values, allowing integer or decimal precision.
### Date
To record calendar dates (e.g., deadlines or delivery dates), appears as a datepicker in modern browsers.
### Date Time
When you need both date and time (e.g., timestamped events), appears as a date / time picker in modern browsers.
Each field type can be set to be **required**, meaning it must be filled in with a value before the associated module (eg booking, project) can be saved.
## Field Modules
Custom fields are added to specific Sonderplan modules, allowing them to be extended to capture the data specific to your business. Below is a table of the modules that allow custom fields:
| Module Name | Notes |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Booking | |
| Project | |
| People | Contacts Module |
| Organizations | Contacts Module |
| Quotes | |
| Invoices | |
| Quotes & Invoices | Fields and their values appear on both quotes and invoices. Quotes that are converted to invoices also retain these values as they are migrated. |
| Billable Items | |
## Create & Edit Custom Field
From the **Admin -> Custom Fields page**, click the **+ New** button in the header to create a new custom field. If you want to edit an existing field, click on the name of the field in the Custom Fields table.
In the New Custom Field sidebar editor that appears:
* **Name (required)**: Give the Custom Field a clear, title (e.g. “Booking Type”). This title will be shown in the form
* **Description (optional)**: This text will be shown in the help bubble next to the field
* **Field is required** - When this checked, this field must be filled before the form will allow saving.
* **Module** - Select the module that this custom field will be attached to (see [Field Modules](#field-modules) table above)
* **Type** - Select the type of this custom field (see [Field Types](#field-types) section above)
### Select Menu Options
When selecting **Select Menu** as the type, an additional **Select Menu Options** section is shown. This section allows you to add, edit and delete the menu options as well as adjust their order.
## Delete Custom Field
Open the Custom Fields’s edit panel as above.
At the bottom-left of the panel, click the **** button. Confirm the deletion in the prompt.
The custom field will be removed from the list immediately.
Any custom field data associated with this field will also be deleted
# Global Contact Settings
Source: https://docs.sonderplan.com/en/admin/global-contact-settings
Configure settings related to Contacts for all Users
| Setting | Description | Options |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| **Hide people from client menus** | When set to **Yes**, only organisations can be selected in the client menus. People clients can still be selected as the **Client Contact** | |
# Global Project Settings
Source: https://docs.sonderplan.com/en/admin/global-project-settings
Configure settings including the project code counter and notifications
The Global Project Settings window allows administrators to customise settings that affect Projects for all users. To open this settings window go to **Project -> -> Global Project Settings**.
| Setting | Description | Options |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
| **Next Project Code** | This setting allows you to start the project shortcode counting at a different number | |
| **Enable Project Notifications** | If enabled, project notifications will be sent to project participants about any changes made to projects they've been added to | |
# Global Sales Settings
Source: https://docs.sonderplan.com/en/admin/global-sales-settings
Configure settings related to Quotes and Invoices for all Users
The Global Sales Settings window allows administrators to customise settings that affect Quotes and Invoices for all users. To open this settings window go to **Sales -> -> Global Sales Settings**.
| Setting | Description | Options |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **Contact Details** | Enter your contact details as they should appear when including the **\[contactDetails]** shortcode in your Quote and Invoice Themes | |
| **Default Quote Terms** | Enter the default terms and conditions that should be prefilled on quotes, and then output when including the **\[quoteTerms]** shortcode in your Quote themes | |
| **Default Invoice Terms** | Enter the default terms and conditions that should be prefilled on invoices, and then output when including the **\[invoiceTerms]** shortcode in your Invoice themes | |
| **Reply-to Email Address** | We'll email quotes and invoices on your behalf. If you don't provide a 'reply to' email address here, we'll use the one linked to the account of the person sending the invoice or quote. | |
| **Include Sender Options** | Choose whether you want a copy of the quotes and invoices to be sent to your email address. | |
| **Default Currency** | The default currency of the new quotes, invoices, resource rates, billable items and services | All standard currencies |
| **Quote Prefix** | The prefix added to quote numbers. Only applies to future quotes and will not affect existing quotes | |
| **Next Quote Number** | Quote number assigned to the next created quote. This number must be higher (>) than any existing quotes generated | |
| **Next Invoice Number** | Invoice number assigned to the next created invoice. This number must be higher (>) than any existing invoices generated | |
# Global Schedule Settings
Source: https://docs.sonderplan.com/en/admin/global-schedule-settings
Configure settings including booking notifications, clash detection, and required fields to customise the scheduling experience to your team's needs.
The *Global Schedule Settings* window allows administrators to customise settings that affect the **Schedule for all users**. To open this settings window go to **Schedule -> -> Global Schedule Settings**.
### Global Settings
The following settings are available in the Global Schedule settings window.
| Setting | Description | Options |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **Automatically calculate rates** | If enabled, Sonderplan will automatically calculate rates for each of the selected booking resources. | |
| **Enable booking notifications** | When set to yes, Sonderplan will send notification emails to any user / resources added to the booking. | |
| **BCC notification emails to administrators** | When set to yes, Sonderplan will BCC administrators on notification emails to any user / resources added to the booking. | |
| **Disable clash detection (resources)** | Use the Shift key to select one or more resource types for which booking clashes should not be checked for | - Room
- Person
- Equipment
- Action
|
| **Disable clash detection (statuses)** | Use the Shift key to select one or more statuses for which booking clashes should not be checked for | *All custom booking statuses* |
| **Restrict editing of bookings** | If set to yes, only the original creators of bookings can edit / delete their own bookings. Administrators can continue to edit / delete all bookings. | |
| **Required booking fields** | The **resources, project, client** and **status** booking fields can be selected as mandatory, requiring at least one option to be filled in | |
# Import Billable Items
Source: https://docs.sonderplan.com/en/admin/import-billable-items
Sonderplan supports importing Billable Items from CSV files, allowing you to quickly bring existing Billable Items into your workspace
## Supported File Format
* **CSV (.csv)**
* UTF-8 encoded
* Must follow the Sonderplan CSV template structure
You can download the template directly from the import screen under **Sales -> Billable Items -> -> Import**
Each row in the CSV represents a billable item. The following fields are supported:
* Item name
* Description
* Unit name (e.g. per hour, per export, per package)
* Buy cost
* Sell cost
* Currency
* Tax name (e.g. GST, VAT)
Before starting the import, please make sure that any [Sales Taxes](/en/admin/sales-taxes) referenced have already been created with the identical name.
## Duplicate Detection
Before saving, Sonderplan checks for duplicated billable items to help prevent accidental duplicates.
You can review all detected items before completing the import and remove individual rows if required.
## How to Import Billable Items
1. Go to **Sales -> Billable Items → -> Import**
2. Click **Download the template CSV** and populate it with your data
3. Click **Choose file** and select your completed CSV file
4. Review the imported items in the preview table
5. Click **Import Billable Items** to save them to your workspace
### Review Before Importing
Before finalising the import, Sonderplan provides a preview table where you can:
* Confirm item names and descriptions
* Verify buy and sell costs
* Check currency and tax settings
* Remove individual items from the import
Items are not saved until you confirm the import by clicking the **Import Billable Items** button.
# Import Services
Source: https://docs.sonderplan.com/en/admin/import-services
Sonderplan supports importing Services from CSV files, allowing you to quickly bring existing Services into your workspace
## Supported File Format
* **CSV (.csv)**
* UTF-8 encoded
* Must follow the Sonderplan CSV template structure
You can download the template directly from the import screen under **Sales -> Services -> -> Import**
## What Gets Imported
Each row in the CSV represents a service. The following fields are supported:
* Service name
* Description
* Booking description template
* Hour buy rate
* Hour sell rate
* Day buy rate
* Day sell rate
* Week buy rate
* Week sell rate
* Currency
* Tax name (e.g. GST, VAT)
Before starting the import, please make sure that any [Sales Taxes](/en/admin/sales-taxes) referenced have already been created with the identical name.
## Duplicate Detection
Before saving, Sonderplan checks for duplicated services to help prevent accidental duplicates in your service list.
You can review all detected services and remove individual rows before completing the import.
## How to Import Services
1. Go to **Services → Import**
2. Click **Download the template CSV** and populate it with your services
3. Click **Choose file** and select your completed CSV file
4. Review the imported services in the preview table
5. Click **Import Services** to save them to your workspace
### Review Before Importing
Before finalising the import, Sonderplan provides a preview table where you can:
* Confirm service names and descriptions
* Verify buy and sell rates across hour, day, and week pricing
* Check booking description templates
* Confirm currency and tax settings
* Remove individual services from the import
No services are saved until you confirm the import by clicking the **Import Services** button.
# Manage Project Folders
Source: https://docs.sonderplan.com/en/admin/project-folders
Organise your projects into folders for better structure and easier navigation—create, rename, rearrange, and delete folders
The Manage Project Folders feature, accessed by going to **Projects -> -> Project Folders**, allows administrators to organise projects into folders for easier navigation and improved structure.
### Create Folders
Click the ** Project Folder** button to add a new folder to the project tree. You can create top-level folders or subfolders as needed.
### Rename Folders
To rename a folder, click on it and press Return ↵ on your keyboard to begin editing the name. Press Return ↵ again to save the changes to the project folder name.
Only project folders can be renamed in this window, to rename a Project, open it in the Project Editor window
### Rearrange Projects / Folders
To move a project or folder, **click and hold** its name, then **drag it** to a different folder or to the top level of the project tree.
### Delete Folders
To delete a project folder, click the ** Delete Project Folder** button. A confirmation window will appear, click **Delete** again to confirm the delete.
Only the Project folder will be deleted, any nested projects will be kept and moved to the top of the tree
# Quote & Invoice Themes
Source: https://docs.sonderplan.com/en/admin/quote-invoice-themes
Customize and brand your quotes and invoices with themes tailored to your business identity.
The *Quote / Invoice Theme Editor* allows administrators to create and customise multiple quote and invoice themes that reflect their brand. Companies operating under multiple business names can create multiple different themes that can be selected on each quote or invoice.
From this point, we'll mostly talk about **invoice themes**, however quote templates are almost identical!
To open the editor, in the top right corner of the **Sales** page, **click** the ** -> Edit Themes**.
## Create / Edit a Theme
The theme editor is a representation of the final invoice output. The page is broken into 9 sections which can have text and HTML elements added to them. When creating a new theme, the system default theme is loaded in by default, but you can add and modify any of the Shortcodes that you require.
### New Theme Button
To create a new theme, click on the **New** (1) button and select either **New Quote Theme** or **New Invoice Theme**. This action will open an editable template based off the default themes, allowing you to fully customize the layout, content, and styling according to your needs.
### Theme Name
Enter a clear and descriptive theme name (2) for internal use only. These names help your team quickly identify the purpose or style of each theme but will not be displayed on the final document sent to clients. For instance, you could use theme names like Company Name — 30 Day Terms or Premium Client Invoice.
### Invoice Title
Specify the title (3) you want to appear prominently at the top of your invoice or quote. Examples include Invoice, Tax Invoice, or Quotation. This is visible on the final document delivered to your client.
### Upload Logo
You can brand your invoices by uploading your company logo. Simply click on the **Upload Logo** (4) button, select your logo file from your device, and it will appear automatically on all invoices generated using this theme.
### Shortcodes
Shortcodes displayed in the right sidebar (5) represent dynamic placeholders that are automatically replaced with relevant details when generating your invoice or quote. For example, shortcodes such as `[invoiceNumber]` or `[companyName]` are replaced by the actual invoice number and your company's name. If there's no data available for a shortcode at the time of generation, that shortcode will be left blank.
#### Dynamic Client / Contact
***
| Shortcode | Description |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `[toFirstName]` | Client contact person’s first name — if no contact person is set, falls back to the client’s first name (for a person) or company name (for an organization) |
| `[toLastName]` | Client contact person’s last name — if no contact person is set, falls back to the client’s last name (for a person) or is left blank (for an organization) |
| `[toOrganization]` | Client contact person’s linked organization name — if no contact person is set, falls back to the client’s linked organization name (for a person) or is left blank |
| `[toAddress]` | The complete address of the client |
| `[toAddressLine1]` | The first line of the client’s address |
| `[toAddressLine2]` | The second line of the client’s address |
| `[toAddressLine3]` | The third line of the client’s address |
| `[toAddressCity]` | The client’s city |
| `[toAddressState]` | The client’s state/province |
| `[toAddressPostcode]` | The client’s postcode/ZIP |
| `[toAddressCountry]` | The client’s country |
| `[toEmail]` | Email address of the client |
| `[toPhone]` | Phone number of the client |
#### Client
***
| Shortcode | Description |
| ----------------- | ------------------------------------ |
| `[clientName]` | The name of the client |
| `[clientAddress]` | Formatted address of the client |
| `[clientEmail1]` | Primary email of the client |
| `[clientEmail2]` | Secondary email of the client |
| `[clientEmail3]` | Tertiary email of the client |
| `[clientPhone1]` | Primary phone number of the client |
| `[clientPhone2]` | Secondary phone number of the client |
| `[clientPhone3]` | Tertiary phone number of the client |
#### Client Contact Person
***
| Shortcode | Description |
| ------------------------------ | -------------------------------------------- |
| `[clientContactPersonName]` | The name of the client contact person |
| `[clientContactPersonAddress]` | Formatted address of the contact person |
| `[clientContactPersonEmail1]` | Primary email of the contact person |
| `[clientContactPersonEmail2]` | Secondary email of the contact person |
| `[clientContactPersonEmail3]` | Tertiary email of the contact person |
| `[clientContactPersonPhone1]` | Primary phone number of the contact person |
| `[clientContactPersonPhone2]` | Secondary phone number of the contact person |
| `[clientContactPersonPhone3]` | Tertiary phone number of the contact person |
#### Invoice Fields
***
| Shortcode | Description |
| ------------------------ | ---------------------------------------------- |
| `[invoiceNumber]` | Number of the invoice |
| `[invoiceTotal]` | Total amount of the invoice |
| `[invoiceSubTotal]` | Sub‑Total amount of the invoice |
| `[invoiceDiscountTotal]` | Discount total amount of the invoice |
| `[invoiceNetTotal]` | Net Total amount of the invoice |
| `[invoiceTaxTotal]` | Total Tax amount of the invoice |
| `[invoiceDate]` | Date the invoice was created |
| `[invoiceDue]` | Due date of the invoice |
| `[invoiceTerms]` | The invoice terms specified within the invoice |
| `[invoiceReference]` | The invoice reference field value |
| `[companyName]` | Your company name (from System Settings) |
| `[contactDetails]` | Contact details (from Global Sales Settings) |
#### Project Fields
***
| Shortcode | Description |
| ---------------------- | -------------------------------------- |
| `[projectName]` | Name of the Project |
| `[projectCode]` | Shortcode assigned to the Project |
| `[projectDescription]` | Description of the Project |
| `[projectStartDate]` | The start date defined for the project |
| `[projectEndDate]` | The end date defined for the project |
### Invoice Settings
Customize your invoice layout by choosing which item columns or total row elements to display or hide (6). This allows you to create tailored invoices suitable for different types of clients or projects, ensuring clarity and relevance in your financial communications.
#### Item Column Visibility
***
| Setting | Description |
| ----------- | ------------------------------------------------------ |
| Item | Show or hide the Item column in the line items. |
| Description | Show or hide the Description column in the line items. |
| Quantity | Show or hide the Quantity column in the line items. |
| Price | Show or hide the Price column in the line items. |
| Discount | Show or hide the Discount column in the line items. |
| Tax | Show or hide the Tax column in the line items. |
| Total | Show or hide the Total column in the line items. |
#### Total Row Visibility
***
| Setting | Description |
| -------------- | ---------------------------------------------------------- |
| Sub Total | Show or hide the Sub Total row in the totals section. |
| Discount Total | Show or hide the Discount Total row in the totals section. |
| Net Total | Show or hide the Net Total row in the totals section. |
| Tax Total | Show or hide the Tax Total row in the totals section. |
| Total | Show or hide the Total row in the totals section. |
### Styles
Use custom CSS code (7) to personalize the appearance of your invoice or quote templates fully. This powerful feature lets you adjust fonts, colors, layout spacing, and more, ensuring your documents reflect your brand identity precisely.
#### Custom Page Footer
A customised footer can be embedded on each page by creating an image file with the dimensions of `120px x 738px`.
The image should be exported as `Footer.png` and then converted to a `base64` string by running the following commands in Terminal on a Mac computer.
```bash Convert png to base64 theme={null}
echo "data:image/png;base64,$(base64 -i Footer.png)" > output.txt
```
Next, copy and paste the `CSS` code into the `Custom CSS Code` section in the Sonderplan invoice theme editor. Finally open the newly created `output.txt` file generated by the above `base64` commands and copy the contents into the `background: url("");` code section.
```css Page footer example icon="css" theme={null}
@media print {
@page {
margin-bottom: 130px!important;
@bottom-center {
height: 120px;
width: 738px;
content: "";
background: url("data:image/png;base64,i.....");
background-size: contain;
}
}
}
```
### Email Template
(8) Predefine the email content and subject lines used when sending invoices through the built-in Send Invoice function. Creating standard email templates helps maintain consistency, enhances professionalism, and speeds up your invoicing process.
### Save
Once you've customized your theme, click the **Save** (9) button to store your changes. This ensures your template settings, styling, and customizations are preserved and ready for future use.\`
# Resources
Source: https://docs.sonderplan.com/en/admin/resources
Manage and organize bookable resources such as rooms, equipment, and personnel to streamline scheduling and maximize utilization.
In Sonderplan, Resources are the individual assets, spaces, people, and actions that you can book or track. Every booking refers to one or more Resources, and grouping them logically helps keep your calendars organized and ensures the right items are available to the right teams.
You can manage Resources by navigating to **Admin → Resources** in the sidebar, where you’ll find a list of all existing items and controls to create, edit, or delete them.
## Types of Resources
### People
Living and breathing, these “human resources” drive your projects and studio operations. Each person must be created as Contact before being created as a Resource. Once added, you can assign them to Workspaces, set rates, or track their availability just like any other asset.
### Rooms
The default Resource type, Rooms represent physical spaces you book:
* Edit Suites (e.g. Edit 1, Edit 2…)
* Meeting Rooms
* Studios
* Any other dedicated space (green rooms, screening rooms, etc.)
Rooms let you define capacity, working hours, and which Workspaces they belong to.
### Equipment
Any tangible item that can be reserved or that you’d like to track inventory for:
* Cameras
* Laptops and workstations
* Audio recorders, lighting kits
* Props, rigs, or other production hardware
In a future release, Equipment Resources will include built-in inventory management—purchase dates, warranty details, and stock levels.
### Action Resources
These are non-physical entries used to represent common staff activities or statuses in your schedule:
* Sick Leave
* Holidays
* Training Sessions
* Administrative Tasks
Action Resources appear in the Schedule just like any other Resource, allowing you to block off time or record internal activities without tying up physical rooms or equipment.
## Creating a New Resource
If you are using Sonderplan on a **Flexible Billing** plan, creating resources will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
Click the **New** dropdown menu button and click **Resource** if you wish to create a **Room**, **Equipment** or **Action** resource.
If you wish to create a **Person** resource, click **Resource from Contact**.
Or click **Resource Group** if you want to create a new group to organise similar resources together.
### People Resources
In the **New Resource** sidebar editor
1. Select an existing **Contact** who should be added as a resource
2. Alternatively, you can click the **New Contact** button which will allow you to create a new contact immediately
3. Select a **Colour** for the resource. Bookings with this resource added will take this colour on.
4. Select a **Parent Resource Group** (optional) if you want to nest the resource with other similar ones
5. Enter an optional **Description** that will be shown on the Schedule
6. Expand the **Workspace** section and click the checkbox next to any workspace you wish to add this resource to
7. Enter a **Rate** for this resource (see section below)
8. Resource attributes (coming soon)
9. Open the **Booking Calendar Feed** section to create a resource feed (once the booking has been saved)
### Room, Equipment and Actions
In the **New Resource** sidebar editor:
1. Enter a **Name** of the resource
2. Select a **Colour** for the resource. Bookings with this resource added will take this colour on.
3. Select an **Icon** which is shown on the Schedule resource timeline.
4. Select the **Type** of the resource as either *Room*, *Equipment* or *Action*
5. Select a **Parent Resource Group** (optional) if you want to nest the resource with other similar ones
6. Enter an optional **Description** that will be shown on the Schedule
7. Expand the **Workspace** section and click the checkbox next to any workspace you wish to add this resource to
## Editing a Resource
In the Resources list, click the name of the resource name (or edit icon) for the Resource you wish to change.
Make any changes to the resource, when finished, click **Save** to apply your changes.
## Deleting a Resource
If you're using Sonderplan with a **Flexible Billing** plan, deleting resources will generate unused time credits for the user. These credits will be automatically applied to your account and used toward future invoices.
Open the Resource’s edit panel as above.
At the bottom-left of the panel, click the **** button. Confirm the deletion in the prompt.
The Resource will be removed from the list immediately. The deleted resource will be kept on bookings, but marked as `(deleted)`.
# Sales Taxes
Source: https://docs.sonderplan.com/en/admin/sales-taxes
Define and manage sales tax rates to ensure accurate totals on quotes and invoices
Sonderplan allows administrators to configure multiple Sales Taxes that are automatically applied to quotes and invoices throughout your account. This provides flexibility to accommodate tax rates that frequently change and vary by region.
## Accessing Sales Tax Settings
To manage your sales taxes:
1. Go to the **Sales** section in the sidebar.
2. Click the button in the top-right of the Sales page.
3. Select **Sales Taxes** from the dropdown menu.
This will open the Sales Taxes management panel where you can define your tax rates.
## Managing Tax Rates
In the Sales Taxes window, you can:
* **Add a Tax** - Click the icon to create a new tax entry.
* **Name the Tax** - Enter a label like GST, VAT, or Service Tax in the Tax Name field.
* **Set the Rate** - Enter the percentage value (e.g., 10.00 for 10%).
* **Delete a Tax** - Use the icon next to a row to remove that tax entry.
Once your taxes are set, click **Save Changes** to apply them across your quotes and invoices.
# SAML Single Sign On (SSO)
Source: https://docs.sonderplan.com/en/admin/saml-sso-settings
Manage SAML Single Sign-On (SSO) integration for secure and seamless user access.
## What is SAML?
Security Assertion Markup Language (SAML, pronounced SAM-el) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider.
In non-jargon speak, SAML SSO (Single Sign On) lets your users login to Sonderplan (the service provider) with third party identity providers, such as Google Workspace, Okta, Azure Active Directory and Onelogin.
SAML SSO is available to all of our customers and we recommend implementing it to boost your companies security posture
SAML reduces friction, allowing your users to access Sonderplan with their existing company controlled user account.
Implementing SAML also benefits your businesses IT administrators, with less admin overhead and improved security by centralising user accounts. SAML isn't just for large enterprise, it's recommended for any business already running a central user directory such as Google Workspace.
## Enabling SAML SSO
To enable SAML SSO go to **Admin -> System Settings**, expand the **SAML Sign On (SSO) Settings** accordion and then change the **Enable SAML SSO** option to **Enabled**.
### Identity Provider Details
These settings will be supplied via your Identity Provider, eg. Google Workspace, Microsoft Azure Active Directory etc. Please copy and paste them into the relevant fields and refer to the guides further down on how to configure SAML within your Identity Provider.
#### Identity Provider Name
This field will be displayed on the SSO sign in button on the login screen.
#### IDP Entity ID / Issuer URL
Identity Provider Issuer Entity ID, often a URL, eg. [http://okta.com/Eksj7Hhsk24klljsd](http://okta.com/Eksj7Hhsk24klljsd)
#### IDP Login URL / SSO Endpoint
The URL that Sonderplan will call to request a user login from the Identity Provider
#### IDP Logout URL / SLO Endpoint
The URL that Sonderplan will call to request a user logout to the Identity Provider
#### IDP X.509 Certificate
The authentication certificate issued by your Identity Provider
## Configuration Guides
These guides cover the most common identity providers that our customers use, however if you're running into issues or need help with configuring a different provider, please reach out to our support team.
### Google Workspace
To configure Sonderplan SAML SSO with Google Workspace, please expand and follow the instructions in each section:
1. Login to the Google Workspace Admin Console and navigate to **Apps -> Web and mobile apps**.
2. Click **Add app -> Add custom SAML app**
3. In **App details** enter ***Sonderplan*** as the **App name**, with a **Description** of ***Resource scheduling platform***
4. Upload the App Icon which you can save from here:
5. Click **Continue**
1. In Sonderplan, head over to **Admin -> System Settings** and expand the **SAML Single Sign On (SSO)** settings panel
2. Enable SAML SSO and enter ***Google Workspace*** as the **Identity Provider Name**
3. Copy the **SSO URL** from Google Workspace to -> **Identity Provider Login URL / SSO Endpoint** AND **Identity Provider Logout URL / SLO Endpoint** in Sonderplan
4. Copy the **Entity ID** from Google Workspace to -> **Identity Provider Entity ID / Issuer URL** in Sonderplan
5. Copy the **Certificate** from Google Workspace to -> **Identity Provider X.509 Certificate** in Sonderplan
6. Click **Save Changes** in the top right corner of Sonderplan
7. In Google Workspace, click **Continue**
1. Copy the **Recipient / ACS (Consumer) URL** from Sonderplan to -> **ACS URL** in Google Workspace Admin Console
2. Copy the **Entity ID / Audience / Metadata URL** from Sonderplan to -> **Entity ID** in Google Workspace Admin Console
3. Make sure **Name ID** in Google Workspace Admin Console is set to **Basic information > Primary Email**
4. Click **Continue**
1. Configure the mapping of Google Directory attributes to the attributes of Sonderplan. Please refer to the screenshot above or table below.
\| Google Directory attributes | App attributes |
\|------------------------------------|----------------|
\| Basic Information -> Primary email | User.email |
\| Basic Information -> First name | User.firstName |
\| Basic Information -> Last name | User.lastName |
2. Click **Finish**
Once the app has been created, you'll need to enable the SAML app for your Google Workspace users.
1. In the **Google Workspace Admin Console** navigate to **Apps -> Web and mobile apps -> Sonderplan -> User Access** change the access setting to **ON for everyone**
2. Finally, you'll need to configure [your users in Sonderplan for SSO](/admin/saml-sso-settings#configure-users-for-sso)
### Microsoft Entra
To configure Sonderplan SAML SSO with Microsoft Entra, please expand and follow the instructions in each section:
1. Login to the Microsoft Azure Portal and navigate to **your directory -> Enterprise Applications -> All applications -> New application**
2. In the Microsoft Entra Gallery, click **Create your own Application**
3. Enter ***Sonderplan*** as the name of the app
4. Check that the option *Integrate any other application you don't find in the gallery (Non-gallery)* is selected
5. Click **Create**
1. In the newly created app *Sonderplan* app, expand the **Manage** section, then click **Single sign-on -> SAML**
2. On the next screen, in the *Basic SAML Configuration*, click **Edit**
3. In another window, open Sonderplan and head over to **Admin -> System Settings** and expand the **SAML Single Sign On (SSO)** settings panel
4. Enable SAML SSO and enter ***Microsoft Entra*** as the **Identity Provider Name** then scroll down to the "*2. Service Provider Details (Sonderplan)*" section
5. Copy the **Entity ID / Audience / Metadata URL** from Sonderplan to -> **Identifier Entity ID** in the Azure SAML configuration
6. Copy the **Recipient / ACS (Consumer) URL** from Sonderplan to -> **Reply URL (Assertion Consumer URL)** in the Azure SAML configuration
7. Copy the **Single Logout URL** from Sonderplan to -> \*\*Logout Url (Optional) in the Azure SAML configuration
8. Finally click **Save** at the top of the *Basic SAML Configuration* screen in the Azure Portal, then click the **x** in the top right corner
1. Still in the Azure Portal, but back on the *SAML-based Sign-on* page for the Sonderplan Enterprise app, scroll down to section **3 SAML Certificates**
2. Download the **Certificate (Base64)**, open the **Sonderplan.cer** file in a text editor on your computer and copy the entire contents of the file into the **Identity Provider X.509 Certificate** in the Sonderplan SAML SSO settings textarea
3. Copy the **Login URL** from the Azure Portal to -> **Identity Provider Login URL / SSO Endpoint** in Sonderplan
4. Copy the **Microsoft Entra Identifier** from the Azure Portal to -> **Identity Provider Entity ID / Issuer URL** in Sonderplan
5. Copy the **Logout URL** from the Azure Portal to -> **Identity Provider Logout URL / SLO Endpoint** in Sonderplan
6. Click **Save Changes** in the top right corner of Sonderplan
1. Still in the Azure Portal, but back on the *SAML-based Sign-on* page for the Sonderplan Enterprise app, scroll down to section **2 Attributes & Claims** and click **Edit**
2. In the *Attributes & Claims* screen, click the **Unique User Identifier (Name ID)** claim
3. Change the **Source Attribute** to ***user.mail*** and click **Save**
1. Still in the Sonderplan Enterprise application, expand the **Manage** section, then click on **Properties**
2. Ensure the **Enabled for users to sign-in?** slider is set to **Yes**
3. Upload the App Icon to the **Logo** field, which you can save from here:
4. Change **Assignment required?** slider to **No**
5. Click **Save** in the top left corner
6. Finally, you'll need to configure [your users in Sonderplan for SSO](/admin/saml-sso-settings#configure-users-for-sso)
### Okta
To configure Sonderplan SAML SSO with Okta, please expand and follow the instructions in each section:
1. In the Okta Admin Console, go to **Applications -> Applications**
2. Click **Create App Integration**
3. Select **SAML 2.0** as the Sign-in method, then click **Next**
4. Enter **Sonderplan** as the **App Name**
5. Upload the App Icon to the **Logo** field, which you can save from here:
6. Then click **Next**
1. In Sonderplan, head over to **Admin -> System Settings** and expand the *SAML Single Sign On (SSO)* settings panel
2. Enable **SAML SSO** and enter **Okta** as the Identity Provider Name
3. Leave the remaining fields blank for now, and scroll to the section titled *2. Service Provider Details (Sonderplan)*
4. Copy the **Recipient / ACS (Consumer) URL** from Sonderplan to -> **Single sign-on URL** in Okta Admin
5. Copy the **Entity ID / Audience / Metadata URL** from Sonderplan to -> **Audience URI (SP Entity ID)** in Okta Admin
6. Make sure **Name ID format** in Okta Admin is set to **Unspecified**
7. Set **Application username** in Okta admin to **Email**
8. In the **Attribute Statements (Optional)** section, define the following mapping:
| Name | Name format | Value |
| -------------- | ----------- | -------------- |
| User.email | Unspecified | user.email |
| User.firstName | Unspecified | user.firstName |
| User.lastName | Unspecified | user.lastName |
9. Click **Next**
10. Select **I'm an Okta customer adding an internal app**
11. Check **This is an internal app that we have created**
12. Click **Finish**
1. In the Okta Admin panel, click **Sign On** within the *Sonderplan*\* application and scroll down to the **SAML 2.0** section
2. Copy the **Sign on URL** from Okta to -> **Identity Provider Login URL / SSO Endpoint** in Sonderplan
3. Copy the **Sign out URL** from Okta to -> **Identity Provider Logout URL / SLO Endpoint** in Sonderplan
4. Copy the **Issuer** from Okta to -> **Identity Provider Entity ID / Issuer URL** in Sonderplan
5. Copy the **Signing Certificate** from Okta to -> **Identity Provider X.509 Certificate** in Sonderplan
6. Click **Save Changes** in the top right corner of Sonderplan
7. Finally, you'll need to configure [your users in Sonderplan for SSO](/admin/saml-sso-settings#configure-users-for-sso)
## Configure Users for SSO
Once you've correctly configured SAML, you'll need to enable SAML SSO Login for each of your users in **Admin -> Users & Groups -> User Editor -> SAML SSO Login**.
To prevent accidental account lockouts due to potential misconfiguration or Identity Provider outages, we recommend maintaining at least one Super Administrator account configured with the Standard Login method.
# Subscription
Source: https://docs.sonderplan.com/en/admin/subscription
Learn how to set up and manage your Sonderplan.com subscription, setup payment methods and activate automated recurring monthly or annual billing
You must be logged into an account in the *Super Administrator* group, or a custom group that has access to the **Subscription** module
If you've reached the end of your [free trial](https://www.sonderplan.com/free-trial), and you'd like to continue using Sonderplan, you can sign up for a subscription under **Admin -> Subscription**.
## Subscription Types
### Flexible Billing
With Sonderplan’s Flexible Billing, your subscription automatically adjusts to match your actual usage. From day one, you’re billed only for the active users and resources in your account. If you add users or resources mid-cycle, Sonderplan calculates the pro-rated cost and includes it in your next invoice. If you remove seats or resources, you earn a credit that’s applied toward your upcoming renewal.
This approach means your costs stay aligned with your needs without any manual intervention. Instead of choosing a fixed plan and worrying about over- or underpaying, you can focus on growing your business while Sonderplan handles the billing adjustments behind the scenes.
Up to date "Flexible Billing" pricing information can be found on our website, on our [pricing page](https://www.sonderplan.com/pricing)
#### Payment Methods
When signing up with *Flexible Billing* we accept all major credit cards, including **MasterCard, Visa** and **American Express**.
### Enterprise Billing
For customers who require custom payment arrangements, (purchase orders, manual EFT, or PayPal), we also offer an **Enterprise Billing** option tailored to your organization’s needs.
Instead of using our standard calculator, you’ll work directly with our team to define terms that fit your procurement processes and budget. We’ll provide a personalized quote that reflects your specific user and resource requirements, payment schedule, and preferred payment method.
This ensures that even the most complex billing scenarios are handled smoothly, giving you the flexibility to integrate Sonderplan into your enterprise workflows without compromise.
## Update Billing Contact
Before a new Subscription can be created, please add or update your billing contact details.
This would usually be your accounts department, ideally to a shared email like **[accounts@example.com](mailto:accounts@example.com)**.
Once you've completed all required fields, click **Update Billing Contact**. You should now be able to create a new Sonderplan subscription.
## Create Subscription
1. To create a new ongoing subscription to Sonderplan, navigate to **Admin -> Subscription**, then click the **Subscribe to Sonderplan** button. If it is grayed out, please add or update your **Billing Contact** as outlined in the previous documentation section.
2. A new window will open where you can change the billing interval, either **monthly** or **annually**.
3. Select the desired schedule and then click **Proceed to Payment**.
4. You'll be redirected to our payment processor, *Stripe* where you can securely enter your **payment information**
5. Once the payment method has been captured, you'll be billed for the amount of **Users** and **Resources** currently in your account.
If you add users or resources, you'll be billed within the next day for the time remaining until your next billing period. If you remove users / resources you'll be issued with a credit that will be automatically applied to future invoices
## Update Payment Method
1. To update the payment method used for your ongoing Sonderplan subscription, navigate to **Admin -> Subscription**, then click the **Payment Method** button in the **Manage Subscription** section.
2. A new window will open where you can see the card currently used to process subscription payments. Clicking the **Update Payment Method** will redirect you to our payment processor, *Stripe* where you can securely add your new payment method.
## View / Download Invoices
All charges and credits made for your Sonderplan.com subscription are shown within invoices which are generated for each transaction.
Invoices may be downloaded from within Sonderplan, by navigating to **Admin -> Subscription** -> **Download Invoices** section
## Cancel Subscription
1. To cancel your Sonderplan subscription, navigate to **Admin -> Subscription** and click the **Cancel Subscription** button under the **Manage Subscription** section.
2. A confirmation window will appear, which will display exactly how long the subscription will remain active for, as well as a text box for entering any feedback on how we can improve the service.
3. Clicking **Yes, Cancel Subscription** will process the cancellation.
If you increase your users / resources after cancelling, additional charges to your credit card will be processed.
Any credits remaining on your account at the time of cancellation will be forfeited and cannot be reinstated.
Our support team is here to help, please get in contact with us.
# System Settings
Source: https://docs.sonderplan.com/en/admin/system-settings
Configure default system behaviors for your team
The settings on this page configure the default settings for your system. These behaviours and settings are applied as defaults to new users you create.
The settings set in each user's [My Account](/en/ui/my-account) page will override these settings
## Settings
* **Company Name** - Is used on [quotes and invoice themes](/en/admin/quote-invoice-themes#shortcodes) and populates the `[companyName]` shortcode
* **Default Timezone** - Sets the default timezone for new users. All booking times, calendar feeds, and timestamps will display according to this timezone.
* **Default Language / Locale** - Sets the default locale used for language and regional conventions (e.g. English (US), Deutsch (DE)). Affects system UI text and formatting of currencies.
* **Default Date Format** - Sets the default date format (e.g. dd/mm/yyyy, mm/dd/yyyy, yyyy-mm-dd)
* **Default Time Format** - Sets the default time format for users, choose 12-hour or 24-hour clock display.
# Users & Groups
Source: https://docs.sonderplan.com/en/admin/users-groups
Invite your team, manage group access roles, and monitor user sessions
The Users & Groups page in Sonderplan lets you manage who can access your system, how they authenticate, and which set of permissions they inherit via Groups. Use this page to onboard new team members, organize them into logical units, and monitor active sessions.
## Users
The Users tab shows every user account that can log into Sonderplan.
### Creating & Editing a User
If you are using Sonderplan on a **Flexible Billing** plan, creating users will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
Next to the *Users & Groups* heading, click the **New** button and choose **User** in the drop-down menu.
In the **New User** editing sidebar, either
* **Select an existing Contact** in the selection menu that you wish to give login access to Sonderplan
* Click **New Contact** to create a new contact that will also be added as a User to Sonderplan
Once a contact has been selected, additional inputs are shown (see below).
#### Primary Email Warning
Users require a **Primary Email** to be set before they can be created. To set a primary email click on the **Open Contact Editor** link or button, which will open the Contact Editor.
#### Time Logging Limited Warning
A **Time Logging Limited** warning will be shown if the user is not also added as a **Resource**. This user will be able to log their time privately, but they won't be able to add time entries to bookings or projects until they are enabled as a resource.
#### Send Reset Password Email
The **“Send Reset Password Email”** action allows administrators to trigger a password reset for a user directly from the **Admin → Users → Edit User** screen.
When clicked, Sonderplan sends an email to the user containing a secure, time-limited link that allows them to set a new password.
##### When to use this
* A user has forgotten their password
* A new user has been created but has not yet set their password
* You need to prompt a user to update their credentials for security reasons
##### How it works
* The system generates a unique reset token
* An email is sent to the user’s registered email address
* The user follows the link and sets a new password
* The token expires after a short period for security
##### Notes
* Clicking the button will open a modal, asking you to verify that you are a human
* If the user does not receive the email, ask them to check spam/junk folders
* Re-clicking the button will invalidate any previous reset links and issue a new one
#### User Group
Users derive their core module permissions from **User Groups**. The group selected can either be one of the default, *Staff, Administrator* or *Super Administrator* or can be a Custom Group.
#### SAML SSO Login
If you have configured [SAML SSO](/en/admin/saml-sso-settings), you can enable each user to use that login method.
#### Expiry Date
Each user can have an expiry date assigned, after which they will no longer be able to login to Sonderplan. This is particularly useful when you have temporary staff or contractors using the system.
### Deleting a User
If you're using Sonderplan with a **Flexible Billing** plan, deleting users will generate unused time credits for the user. These credits will be automatically applied to your account and used toward future invoices.
Open the User’s edit panel as above.
At the bottom-left of the panel, click the **** button. Confirm the deletion in the prompt.
## Groups
Groups let you bundle individual accounts into logical teams—so you can grant or revoke access to entire sets of features at once. Instead of assigning permissions one user at a time, you simply give a Group the right to view or edit specific modules (Schedule / Bookings, Projects, Contacts, and more) and any member of that Group automatically inherits those permissions.
### Default Groups
Sonderplan has 3 default groups setup which cover many common use cases.
| Module | Staff | Administrators | Super Administrators |
| ----------------------- | :---: | :------------: | :------------------: |
| Schedule / Bookings | RW | RW | RW |
| Projects | RW | RW | RW |
| Contacts | RW | RW | RW |
| Sales | -- | RW | RW |
| Administrator | -- | RW | RW |
| Subscription Management | -- | -- | RW |
\-- = No Access, R- = Read Only, RW = Read and Write
### Create & Edit a Group
If you wish to customise access you can create a **Custom Group**. If you are editing a group, click on the name of the group in the *Groups* datatable.
Only custom groups may be edited
Next to the *Users & Groups* heading, click the **New** button and choose **Group** in the drop-down menu. The *New Group* editor will open from the right side.
* Enter a **Group Name** and optional **Description** for the group.
* For each **Module**, select the level of access that each member of the group should have.
Finally click **Create Group** to create a new group, or **Save Changes** to save the existing group.
### Delete Group
Only custom groups may be deleted
Open the Groups’s edit panel as above.
At the bottom-left of the panel, click the **** button. Confirm the deletion in the prompt.
The group will be removed from the list immediately.
## Sessions
On the Sessions tab you can view and manage every active login across browsers and devices. For each session you’ll see the User name (and email), the originating IP Address, when they Signed In, and their Last Active timestamp.
If you need to immediately revoke access—for example if a device is lost or left unattended—click the red trash icon under Delete to terminate that session. Use the pagination controls and search field to locate specific sessions, and rest easy knowing you can instantly sign out any user from this single screen.
# Workspaces
Source: https://docs.sonderplan.com/en/admin/workspaces
Organize your resources, define region specific holidays and settings and manage user access effortlessly with Workspaces
In Sonderplan, Workspaces (formerly called “Schedules”) let you group together the resources and user access for a particular site, department or office. A Workspace defines:
* Which resources (studios, meeting rooms, equipment, people, etc.) are available
* Who can view and make bookings in that Workspace
Workspaces keep your Schedule focused and secure by giving each location or team its own set of resources and permissions.
## Workspaces on the Schedule
To switch between workspaces, go to the top-right corner of the Schedule and click the icon. A menu will appear showing all the workspaces you have access to. Simply click on the name of a workspace to load it into the Schedule—this will replace the currently displayed resources with those from the selected workspace.
For more information on the Schedule, see our [Schedule UI](/en/bookings/schedule) overview.
## Managing Workspaces
In the main sidebar, click **Admin** to expand the menu, then select **Workspaces**.
You’ll see a table of all your existing Workspaces, use the table’s sort or search controls to find what you need.
## Create a Workspace
From the Workspaces page, click the + **New** button in the header.
In the New Workspace dialog that appears:
* **Name** (required): Give the Workspace a clear, unique title (e.g. “Berlin Studio”).
* **Description** (optional): Enter a brief summary of what this Workspace represents.
* **Working Week**: Define the working week for the region that this Workspace resides in, so that weekends are highlighted correctly
* **Show Public Holiday**: Enter the region that this Workspace resides in, so that region specific holidays are loaded
* **Calendar Feed**: Enable to create an exportable calendar feed for all bookings that fall within this Workspace
### Resources
Switch to the Resources tab and **check the folders or individual items** that should be bookable in this Workspace (e.g. “Edit Suites → Edit 1, Edit 2,” “Staff → Ava Baker,” etc.).
### Access
Open the Access tab and assign user or group permissions by checking the **View** and **Edit** checkboxes next to each user or group who should see and book these resources.
When you’ve finished configuring, click **Save**.
Your new Workspace will appear in the list and users with access will immediately be able to make bookings against its resources.
## Editing an Existing Workspace
In the Workspaces list, locate the Workspace you want to change and click the **name of the Workspace** you want to edit
The Edit Workspace panel slides in from the right:
* **Name**: You can update the title at any time.
* **Resources tab**: Add or remove bookable items.
* **Access tab**: Update which users or groups have permission.
* ** Settings**: Adjust the Description or Working Week if needed.
After making your changes, click **Save** to apply them.
## Delete a Workspace
Open the Workspace’s edit panel as above.
At the bottom-left of the panel, click the **** button.
Confirm the deletion in the prompt.
The Workspace will be removed from the list immediately.
# Zapier Connector
Source: https://docs.sonderplan.com/en/admin/zapier
Set up a new API client, integrate it with Zapier, and build a test Zap to automate workflows and streamline data connections.
Zapier is a web-based service that enables users to automate tasks by connecting various web applications together. With Zapier, users can create automated workflows, known as “Zaps,” which connect two or more apps, triggering actions in one app based on specific events or triggers in another app.
For example, you can create a Zap that automatically creates a contact in your CRM when a contact is created in Sonderplan.
Zapier supports over 7,000 apps and offers a user-friendly interface that makes it easy for anyone to create and manage their own automated workflows without the need for coding skills.
Before you begin, please create an [API Client](/admin/api-clients) in Sonderplan
## Create a Zapier Integration
In this example, we'll create a simple Zap that creates a Hubspot contact, whenever a new contact is created in Sonderplan.
1. Log in to your Zapier account and click on the “Make a Zap” button.
2. Search for **Sonderplan** and select it as the trigger app and choose the trigger event *“New Contact”*.
3. Connect your Sonderplan account to Zapier by following the prompts to enter your Sonderplan API Authentication Token and authorizing the connection.
4. Test the trigger by fetching a sample contact from Sonderplan to ensure that Zapier can properly connect to your account.
5. Next, select “HubSpot CRM” as the action app and choose the action event “Create Contact”.
6. Connect your HubSpot CRM account to Zapier by entering your API key and authorizing the connection.
7. Map the fields from the Sonderplan contact to the corresponding fields in HubSpot CRM. For example, map the Sonderplan contact’s name field to the HubSpot CRM contact’s name field, and so on.
8. Test the action by creating a test contact in Sonderplan and ensuring that a new contact is created in HubSpot CRM.
9. Once your Zap is set up and tested, it will automatically create a new contact in HubSpot CRM every time a new contact is created in Sonderplan.
# Access Permissions
Source: https://docs.sonderplan.com/en/bookings/access-permissions
The ability to view and modify a booking is calculated from a combination of group, schedule, project and individual permissions
Sonderplan uses a cascading access control system, evaluated from a broad level down to more granular permissions.
If a user group isn’t granted broad module access, they won’t be able to bypass restrictions at more granular levels.
```mermaid theme={null}
flowchart TD
A("Scheduling Module Access (User Group)") -- Read and/or Write --> B("Workspace access (User/Group)")
A -- No Access --> C("No access to Schedule/Booking")
B -- Read and/or Write --> D("Limited Project Permissions") -- Allowed or Unrestricted Project --> F("User Resource* View Setting") -- Show All Bookings --> G("View and/or Edit Booking")
B -- No Access --> E("No access to Resource/Booking")
D -- Not Allowed --> H("Booking is Anonymized or Hidden")
F -- Hide Unrelated Bookings --> H
```
### User Group Access to Scheduling Module
The *User's Group* determines the permissions of group members to entire modules, with three possible access controls set for each module: *No Access*, *Read Only*, *Read and Write*. If a user group has *Read Only* permissions to the Scheduling module, then this applies to all bookings loaded on the Schedule and Booking table and cannot be overridden.
### Workspace Access Permissions
Typically, Workspaces are usually created for each location or department, and each Workspace will contain a subset of the resources created within Sonderplan.
For example a company might have four workspaces setup, *Sydney Post*, *Sydney Camera Dept*, *New York Grading*, *Berlin Post*. In addition to resources, each workspace contains read / write access permissions defined per user and / or group.
In the above example, it might be desirable for the Sydney Camera and Post departments to view each others bookings, but they should not be able to create or modify bookings in the other Workspaces. Neither team should see New York Grading or Berlin Post, as these operate completely independently.
User groups with access to the Administrator Module will have read access to all bookings within the Schedule and Data Tables, however they won't be able to create, edit or delete bookings unless they have been assigned Edit access to a specific Workspace
### Limited & Private Projects
Projects may be set to "Private" and require Users and Groups to be added to the project team for access to the project. This setting also affects bookings added to those projects, and Users who do not have permission to the project will see bookings with anonymized name and notes.
### User Resources
Users who are linked to a "Person" resource, are referred to as **User Resources** and these users can have additional access settings applied:
#### Schedule View Setting
This setting determines if *User Resources* are able to view only their own bookings, or see all other bookings (subject to the access permissions shown above). This is mainly used in education settings or when freelancers have been given read only access to the Schedule in Sonderplan and you want to restrict their access to only see bookings relevant to them.
#### Personal Calendar / My Bookings Table
*User Resources* are able to login to Sonderplan and see bookings they have been assigned as resources to. This is required so that they can track time directly on the booking and/or projects they are working on.
We recommend creating a new limited User Group (with no access to any Sonderplan modules), for users who only need to see and track time against their own bookings.
# Booking Basics
Source: https://docs.sonderplan.com/en/bookings/basics
Allocating time for your resources is simple, but there are a few tips and tricks that unlock the full capabilities of Sonderplan
## Booking Properties
Bookings always include a **name**, a **start date-time** and an **end date-time**. Additionally, bookings may include any of the following properties:
Supports one or multiple resources. Buy & sell rates can be set for each resource
Any time entries that were logged by resources directly to the booking
Used for project reporting and sets the client and client contact fields
Pulls through client contact info and used to prefill quotes / invoices
Customise booking stages with colour-coded statuses.
Adhoc items with buy & sell costs that are added to prefilled quotes / invoices
Details about the linked quotes & invoices generated from bookings
Files that are related to this booking can be uploaded and attached directly
Single, multi line, select menu and date picker input fields can be added to bookings
Details about who, changed what, including when they did it
## Creating a Booking
There are currently four main methods to create a new booking in Sonderplan, though the ability to create bookings may be limited by your [access permissions](/en/bookings/access-permissions). If you can't create a booking, and you think you should be able to, please contact your Sonderplan administrator.
### Resource Timeline
To create a booking on the resource timeline, open the schedule, find the desired *Resource* and hover your mouse over the desired start time and then **click & drag**, moving the mouse right until you reach the desired end time or duration, then release the mouse button.
It is also possible to select the end time first and then drag left to find the start time
The *Quick Edit* booking sidebar opens with the selected resource prefilled. Add additional resources, project, client etc. and click the **Save** button in the bottom left corner of the sidebar to create the booking.
### Project Timeline
To create a booking on the project timeline, open the schedule, select the Project Timeline, find the desired *Project* and hover your mouse over the desired start time and then **click & drag**, moving the mouse right until you reach the desired end time or duration, then release the mouse button.
The *Quick Edit* booking sidebar opens with the selected project prefilled. Add resources, client and notes etc. and then click the **Save** button in the bottom left corner of the sidebar to create the booking.
### Schedule Calendar
Open the Schedule Calendar to either the day, week or month view and either single click and drag the time, or double-click the cell to create a booking with the default duration.
The *Quick Edit* booking sidebar opens. Modify the preset time, add resources, project, client and notes etc. and then click the **Save** button in the bottom left corner of the sidebar to create the booking.
### Copy & Paste Booking
To create a booking from an existing booking, left single click an existing booking, then press ⌘ + cCtrl + c to copy the booking. Move the mouse pointer to another day and then ⌘ + vCtrl + v to paste the booking.
Alternatively, right single click and existing booking, click **Copy** and then right-click on the day you wish to copy the booking to and right single click **Paste**.
The behaviour of booking **Paste** varies, based on your current view. On day views, the booking will be pasted directly where the mouse pointer is. On any other view, the booking will be pasted with the original start time.
## Editing Bookings
There are currently two interfaces to edit bookings, the Quick Edit Sidebar (available on the Schedule only) or the Booking Editor. The Quick Edit sidebar only allows editing of a limited set of properties, the Booking Editor has the ability to edit all of the booking properties.
### Quick Edit Sidebar
*Available on the Schedule Only*
When on the Schedule, the fastest method of editing bookings is the *Quick Edit* window. To open it, you can single click on a booking and then press ⌘ + eCtrl + e to open the booking in the Quick Edit sidebar.
Alternatively, you can open via the [Quick Info Popover](/en/ui/schedule#quick-info-popover), by clicking on the Pencil Edit Icon.
### Booking Editor
To edit all the properties of a Booking, use the *Booking Editor*, which is available on the Schedule and from the Booking Data Table.
To open it from the Schedule, single click a booking and then press ⌘ + oCtrl + o, or use the [Quick Info Popover](/en/ui/schedule#quick-info-popover) to open load the booking into the Booking Editor.
The Booking editor loads a read only preview of the booking, click the *Edit* button to make changes.
### Comparison of Editors
The following is a break-down of the features available in the two booking editors.
We are working on improving this and a future version of Sonderplan will combine these two editors into a single interface
| Booking Property | Booking Editor | Quick Edit Sidebar |
| ------------------------------------ | :-------------------: | :-------------------: |
| Name | | |
| Start & End Date | | |
| Duration | | |
| Project | | |
| Client | | |
| [Status](/en/admin/booking-statuses) | | |
| Custom Fields | | |
| Notes | | |
| Resource Rates | | |
| Billable Items | | |
| Quotes | | |
| Invoices | | |
| Time Logs | | |
| File Attachments | | |
| Print Booking | | |
| Prefill Quote / Invoice | | |
| Booking History | | |
### Booking Locks
Sonderplan prevents the possibility of losing changes to bookings caused by multiple people editing the same booking, through the use of Booking Locks.
When a booking is opened in either the [Quick Editor Sidebar](/en/bookings/basics#quick-edit-sidebar), or the [Booking Editor](/en/bookings/basics#booking-editor), Sonderplan will initiate a booking lock for that user. The booking lock prevents other users from opening the same booking until the lock owner closes the booking editor, or until a period of 10minutes has passed.
Before a booking locks, the owner is shown a 30-second countdown giving them the opportunity to extend the lock for another 10minutes. If a booking lock has expired, the owner editing the booking will see a notice that the booking was locked and will need to reopen the booking to receive a new lock.
### Live Updates
Sonderplan will broadcast changes when bookings are created, edited or deleted to all authorised clients, avoiding the need to manually refresh the Schedule. Live updates require a constant connection to our live update service, and you can see the [status of this service](/en/ui/general#live-updates-status) in the bottom left hand corner of the main application screen.
There are some instances where live updates won't be received, usually because the computer went to sleep, or there was a network interruption. In this case, Sonderplan will show a button that will initiate a manual Schedule re-sync.
### Updating Multiple Bookings
To update the properties of multiple bookings, you can use the checkboxes feature of the Bookings Data Table to select multiple bookings and edit certain properties, *en masse*.
## Deleting Bookings
Bookings can be deleted directly from the Schedule, the Bookings Data Table, within the [Quick Edit Sidebar](/en/bookings/basics#quick-edit-sidebar) and the [Booking editor](/en/bookings/basics#booking-editor).
On the Schedule you can trigger a delete by single clicking a booking and either pressing deldel or clicking the delete icon in the [Quick Info Popover](/en/ui/schedule#quick-info-popover). The delete confirmation window can be confirmed by clicking **Delete** or by pressing ⌘ + ⏎Ctrl + ⏎
Before a booking is deleted, a confirmation window will be shown to confirm the action.
Currently, deleted bookings cannot be restored via the user interface (UI). However, it is possible to retrieve a deleted booking via the Booking API.
## Learn More
Explore the different schedule views available in Sonderplan, including timeline, calendar, and grid layouts—each designed to support different planning needs.
# Export Bookings
Source: https://docs.sonderplan.com/en/bookings/export-bookings
Learn how to export bookings to print, PDF, or Excel for easy sharing, reporting, or record-keeping.
## Print Bookings
To print a single booking, open the booking in the [Booking Editor](/en/bookings/basics#booking-editor) and click on the ** Actions** button dropdown **-> Print -> Print Summary**.
A print friendly version of the booking will open up in a new window, where you can select a printer or save as a PDF. For more details, select the **Print Extended** option, which expands the sections of the booking to include information about the project and client.
## PDF Export Schedule
From the **Schedule** page, in the top right menu, click the ** -> Export -> PDF**. The *Schedule PDF Export* window opens and allows you to choose the paper size for the exported file.
Available Paper Size Options:
* **A4** (297 × 210 mm) - Standard international paper size, ideal for general printing. (Default selection)
* **A3** (420 × 297 mm) - Larger format suitable for more detailed or wider schedule views.
* **Letter** (8.5 × 11 in) - Common paper size in North America.
* **Tabloid** (17 × 11 in) - Wide-format paper, ideal for wall charts or large planning overviews.
Select the desired paper size and click the **Export PDF** button. The schedule may temporarily resize whilst the screen is captured and the PDF is generated. The PDF will be downloaded to your computer.
## Excel Export Bookings
The Excel Export feature allows you to download a list of bookings in spreadsheet (.xlsx) format, perfect for reporting, sharing, or offline analysis. From the **Schedule** and **Bookings** pages, in the top right menu, click the ** -> Export -> Excel**.
The Excel Spreadsheet Export window will open, select from the following options and click the **Export** button to generate the Excel file and download to your computer.
### Filtering Bookings
Before you export, you can configure your booking filters to show only the bookings you require. For example, you could create a filter to only show bookings with certain resources, or have a particular client or status. These filters will be used by the Excel utility to export the filtered results to the spreadsheet.
### Export Settings
The following settings are available:
| Setting | Description | Options |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Export Timeframe** | The time frame of bookings that should be exported | - Selected / Viewable Date Range
- This month
- Last 30 days
- Last 90 days
- All time
- Custom date range
|
| **Output Template** | Controls what information is output and how it is formatted | - **Single Line Bookings** - Each booking is output to a single line, resource names are comma seperated
- **Resource Grouped** - Each booking resource is output on a new line
|
| **Columns** | Select the booking properties, project and client attributes and custom fields that will be output as columns in the Excel file. | Column selection varies based on group module access |
| **Date format** | The format of date columns | - d/m/yy
- dd/mm/yy
- dd/mm/yyyy
- m/d/yy
- mm/dd/yy
- mm/dd/yyyy
- yy/m/d
- yy/mm/dd
- yyyy/mm/dd
|
| **Time format** | Select either 24 Hour or 12 Hour time display. | |
| **Time Zone** | Sets which timezone the bookings should be offset to | *All standard timezones* |
| **Order Results** | Sets the order in which bookings will be output | |
# Repeat Bookings
Source: https://docs.sonderplan.com/en/bookings/repeat-bookings
Create bookings that recur automatically based on a defined schedule, useful for regular meetings, resource reservations, or any recurring work pattern
## Setting Up a Repeating Booking
When creating or editing a booking, open the Date & Time section and click the Repeat control to configure how and when the booking repeats.
### Repeat Frequency
* **Doesn’t Repeat** – The default setting for one-time bookings.
* **Hourly** – Repeats every X hours.
* **Daily** – Repeats every X days.
* **Weekly** – Repeats every X weeks on specific days of the week.
* **Monthly** – Repeats every X months.
When “Weekly” is selected, you can choose specific days of the week (e.g., Monday, Wednesday, Friday) on which the booking should recur.
### Interval
The number entered within the interval field controls how often the repeat occurs. For example:
* **Daily + Interval 1** = every day
* **Weekly + Interval 2** = every 2 weeks
* **Monthly + Interval 6** = every 6 months
### Ending the Repeat
You can control when the series stops using two end conditions:
* **End on Date** – Select a specific date/time at which the repeat will stop.
* **End after Count** – Define how many times the booking should repeat (e.g., repeat 4 times total).
## Editing a Repeating Booking
When editing a booking in a repeat series, you’ll be asked how the **most recent changes** should apply:
* **Only this booking** – Updates a single occurrence without affecting others.
* **This booking and all following repeats** – Applies changes from the selected date forward.
* **All repeat bookings** – Modifies every occurrence in the series.
### How Changes Are Applied to Repeat Bookings
When editing repeat bookings, **only the properties that are changed are applied during the save**. This ensures that **changes made to individual bookings in a series are preserved**, while still allowing shared changes to be applied across the group.
For example, if you move a single booking in the series to a new day and save that change for only that booking, its date will become independent from the rest of the series. Later, if you update the name of the booking and apply that change to all repeat bookings, only the name will update—not the date of the one you previously moved.
## Deleting a Repeating Booking
When deleting a booking that is part of a repeating series, Sonderplan provides flexible options to help you manage exactly which bookings are removed.
### Delete Booking Options
Upon clicking Delete, you’ll be presented with three choices:
1. **Delete only this booking** - Removes just the selected booking from the series. The rest of the repeat series remains unchanged.
2. **Delete this & future repeats** - Deletes the selected booking and all future occurrences in the series, starting from the one you selected. Earlier instances will be preserved.
3. **Delete all repeats** - Permanently deletes the entire repeat series, including past, present, and future bookings.
# Resource Rates & Billable Items
Source: https://docs.sonderplan.com/en/bookings/resource-rates-billable-items
Track project profitability by assigning buy/sell rates to resources and billable items—automatically calculate margins or customise costs for greater billing flexibility.
Sonderplan allows you to assign Buy and Sell rates to both resources and billable items within a booking. This enables powerful financial tracking, cost recovery, and margin visibility for every scheduled job.
## Booking Resource Rates
Each resource on a booking—such as rooms, freelancers, or equipment—can have buy and sell rates applied based on different time units; **Hourly, Daily, Part Daily, Weekly** and **Fixed**.
These rates are usually pre-defined in the resource setup, but can also be overridden at the time of booking. Sonderplan automatically calculates the cost and charge based on the booking duration, saving you time and improving accuracy.
* **Buy Rate**: What it costs your business to provide the resource (e.g. freelancer rate, room overhead).
* **Sell Rate**: What you charge the client for that resource.
* **Profit / Margin**: The difference between buy and sell, displayed per resource and across the whole booking.
You can override durations manually if the billing period differs from the actual booking length—for example, if you charge for a full day but the resource was only used for half.
You can select from predefined resource rate's, Service Rates or enter custom values per booking, depending on the agreement with the client.
### Automatic Selection of Rates
Sonderplan can be configured to automatically select the best rate for your resources, by enabling the [Automatically Calculate Rates](/en/admin/global-schedule-settings#global-settings) option in Global Schedule Settings.
#### Rate Selection Process
When a resource is added to a booking, Sonderplan will look for any rate schemes that the resource has been added to, including project rates, services and individual resource rates.
If multiple rate schemes apply, Sonderplan will choose the rate based on the following order:
```mermaid theme={null}
flowchart TD
A("Project Rate") --> B("Service Rate") --> C("Resource Base Rate")
```
Sonderplan defaults to using the "Hourly" rate, unless the booking is marked as all day, when it will use the "Daily" rate
## Booking Billable Items
in addition to resources, Sonderplan allows you to add Billable Items—such as file transcodes, client catering, or consumables—to any booking.
Each item can have its own **buy cost, sell price**, and **quantity**.
The system calculates the **total margin** across all billable items and adds it to the booking’s profit summary.
Frequently used items can be saved as global billable items for fast reuse. This makes it easy to track additional revenue sources and capture more accurate project costs beyond just time and space.
# Schedule Interface
Source: https://docs.sonderplan.com/en/bookings/schedule
The Schedule module helps you easily manage your daily, weekly, and monthly bookings. It's the main place where you allocate time to your resources and projects.
To navigate to the Schedule in Sonderplan, open the main navigation menu and click **Schedule**.
## View Types
There are three schedule view types to suit different user preferences—whether you prefer a detailed timeline, a traditional calendar layout, or a grid format, each view displays the same bookings.
### Timelines
The Timeline Schedule offers two distinct views to help you manage and organise your work more effectively: the Resources Timeline and the Project Timeline.
#### Resource Timeline
This view displays all resources assigned to the currently loaded [Workspace](#workspaces). Resources appear along the Y axis, while the selected time range is shown across the X axis.
This view displays all scheduled activities grouped by individual resources, such as team members, rooms, or equipment. It’s ideal for tracking who is assigned to what and ensuring balanced workloads across your team or assets.
#### Project Timeline
This view displays all *In Progress* projects that you have access to. Projects appear along the Y Axis, while the selected time range is shown across the X axis.
The project timeline is commonly used to see how Projects are tracking against Project Phases and Milestones.
### Calendar
While timeline views are typically favoured by experienced schedulers for their depth and clarity in resource and project allocation, calendar views offer a more familiar experience for users transitioning from tools like Google Calendar or Outlook. This makes them a great starting point for new users or those more comfortable with traditional calendar interfaces.
The Calendar view offers multiple ways to visualise your schedule—Day, Week, and Month—each suited to different planning needs.
#### Day / Week
These views provide a detailed, hour-by-hour layout of scheduled activities:
* Ideal for short-term planning and managing daily workloads.
* Bookings are displayed in a vertical format, showing precise start and end times.
* You can easily identify overlapping bookings, gaps in availability, and resource allocation throughout each day.
* The Week view helps visualise how your team or resources are distributed across a full working week.
Use the Day or Week view when you need to focus on the finer details of scheduling and task timing.
#### Month
The Month view offers a broader overview of all scheduled work across the entire month:
* Best for high-level planning and spotting long-term trends.
* Bookings are displayed as coloured blocks spanning each day, without showing exact hours.
* Helpful for identifying peak periods, long-term projects, and upcoming deadlines.
* Great for checking overall availability at a glance.
Switch to the Month view when you're planning ahead or want a snapshot of what’s coming up across the whole schedule.
### Grid
The Grid view presents your schedule in a table format, offering a clear, sortable list of all scheduled bookings within the selected time range.
It is especially useful for reporting, exporting schedules, or performing quick checks across multiple bookings.
* Tabular Layout: Displays each booking as a row with columns for key details such as Name, Start and End times, Assigned Resources, Project, Client, and Status.
* Quick Overview: Ideal for users who prefer structured data or need to scan bookings quickly without a visual timeline.
* Sortable and Filterable: Easily sort or filter columns (e.g., by date, project, resource, or client) to find what you’re looking for faster.
* Consistent Across Views: The Grid reflects the same data shown in the Timeline and Calendar views, but in a compact, no-frills format.
#### Bookings Data Table
An alternative to the Grid view is the Bookings Table, which provides a more comprehensive and flexible way to manage your bookings. Unlike the Grid, which only displays bookings within a selected date range, the Bookings Table can show all bookings ever created, regardless of timeframe. It also features enhanced search and filtering tools, making it ideal for in-depth queries, audits, or historical reviews.
***
## Time Frames
The time frames available depend on the selected view type, and the additional time frames can be selected by clicking the arrow icons next to the *Week* and *Month* menus.
### View / Time Frame Matrix
The table belows show the time frames available to each view type.
| Time Frame | Timeline View | Calendar View | Grid View |
| ------------------ | :-------------------: | :-------------------: | :-------------------- |
| Day | | | |
| Week | | | |
| 2 Weeks | | | |
| 3 Weeks | | | |
| Month | | | |
| 2 Months | | | |
| 3 Months | | | |
| 6 Months | | | |
| 12 Months *(Beta)* | | | |
| 24 Months *(Beta)* | | | |
| 36 Months *(Beta)* | | | |
### Moving within the Date Range
To move forward or backwards within the current time frame, click on the left and right arrows on either side of the main Date Range Heading. You can also use the left ←← and right →→ arrows on your keyboard to move forward and backwards.
### Quick Date Select Calendar
Clicking on the current Date Range header displays a mini calendar that lets you quickly select the date you'd like to navigate to on the main Schedule.
***
## Schedule Workspaces
Workspaces are distinct environments within the Schedule where Administrators can organize and manage groups of Resources. Each Workspace represents a specific context—whether defined by either a physical location (like "Sydney Studio" or "New York") or by a particular category of assets (such as "Cameras" or "Equipment").
Within each Workspace, Administrators can set view only or edit access permissions and Users with edit access to the Workspace can create, edit and delete bookings.
### Switching between Workspaces
To switch between workspaces, go to the top-right corner of the Schedule and click the icon. A menu will appear showing all the workspaces you have access to. Simply click on the name of a workspace to load it into the Schedule—this will replace the currently displayed resources with those from the selected workspace.
***
## Additional Controls
### Booking Colors
The colors of bookings on the Schedule can be switched between three modes, **Resource**, **Project** and **[Booking Status](/en/admin/booking-statuses)**. To switch the color mode, click the "Color Wheel" icon in the top right of the Schedule, then select the preferred color mode.
### Zoom
You can use the zoom control on **timeline views** to expand the time range, making bookings appear larger and easier to view.
Note, that this control is separate to the browser zoom control (available in most modern web browsers) which can be activated using ⌘Ctrl + + to increase the size and ⌘Ctrl + - to decrease the size of all elements in the window.
### Booking Filter Sidebar
The Booking Filter Sidebar allows you to quickly narrow down the bookings shown on the Schedule by applying custom filters. You can access it by clicking the filter icon in the top-right corner of the Schedule interface.
#### Filter Options:
* **Search Bookings** - Type in any keyword to search across all booking names.
* **Resource** - Filter bookings assigned to a specific resource.
* **Project** - Display only bookings linked to a particular project.
* **Client** - Show bookings associated with a specific client.
* **Status** - Show bookings assigned with one or more of your custom created Booking Statuses
### Quick Row Filter
The Quick Row Filter is a quick search tool that lets you instantly filter the **resources** or **projects** displayed on the timeline.
Located near the top of the Schedule view, the Quick Filter is a simple text input field. As you type, it dynamically filters the currently loaded resources or projects—hiding anything that doesn't match your search term. The filtering happens in real time, allowing you to quickly narrow down the timeline view to just the items you're interested in.
This is especially useful in larger schedules where scrolling through long lists of resources or projects can be time-consuming. Use the Quick Filter to instantly zero in on what you need.
### User Preferences
The following settings only affect how the Schedule appears to you. They are saved locally on your device and automatically applied each time you open the Schedule.
#### Row Height
The height of Resource and Project rows on **timeline views** can be set to one of four different sizes, (small, medium, large, extra large)
#### First / Last Hour
Defines the earliest and latest hours displayed across all **timeline and calendar views** for each day in the Schedule. This setting is especially useful if your bookings typically fall within a consistent set of core hours. By hiding unused hours outside this range, it reduces white space and allows more space for booking labels, making the schedule easier to read and navigate.
#### Week Numbers Scale
The Show Week Numbers Scale option, available in the **timeline views**, adds a week number row to the top of the schedule. This is particularly helpful for teams that plan or report using ISO week numbers, providing a clear reference point for long-term projects and scheduling alignment.
#### Sort Bookings by Status Order
This setting applies to the **timeline views** and dictates the sorting order of bookings that have the same start date / times. By default, Sonderplan will display them in the order they were added, however you can override this behaviour and sort the bookings by the order of the associated booking status order.
For example, if you use the custom booking statuses to show 'holds' (eg *First Hold*, *Second Hold* etc.) you can enable this option, to show the bookings in the order reflecting their hold priority.
#### Highlight Resource Clashes
This setting applies to the **resource timeline view** and if enabled will show a red background around clashing resources. This is separate to the Global Schedule setting which enables / disables the clash warning displayed when saving a booking and clashes were detected.
#### Resource Availability
This setting applies to the resource timeline view and includes three options: **Hide Resource Counts, Show Available Resources**, and **Show Used Resources**.
When set to **Show Available Resources**, each resource group displays the number of available (unbooked) resources for each time period. This is useful for spotting availability at a glance and planning new bookings efficiently.
If set to **Show Used Resources**, the resource groups will show the number of booked (in-use) resources during each time slot, helping you monitor usage and identify capacity trends.
Selecting **Hide Resource Counts** removes the numeric indicators altogether, offering a cleaner layout if you prefer to focus on the booking blocks themselves.
These indicators update dynamically as you scroll or filter the timeline, giving you a real-time overview of how resources are being utilised throughout the schedule.
#### Start Week On
The Start Week On setting allows you to choose which day your schedule week begins on—either **Sunday** or **Monday**.
This preference affects all week-based views (Timeline and Calendar) and helps align the schedule with your regions norms or personal planning habits.
#### Time Snapping
The Time Snapping setting controls the granularity of the time intervals when creating, resizing, or moving bookings across all views in the Schedule.
You can choose from the following snapping options: **5 min, 10 min, 15 min, 30 min**, and **60 min**.
This setting determines how bookings "snap" to the nearest time increment on the timeline or calendar views. For example, if set to 15 min, a booking will align to 09:00, 09:15, 09:30, etc., when adjusted.
Use smaller increments (e.g. 5 or 10 minutes) for more precise scheduling, or larger increments (e.g. 30 or 60 minutes) to simplify booking creation and reduce clutter in your schedule.
#### Booking Drag Confirmation
When the Booking Drag Confirmation setting is enabled, a confirmation dialog appears before a booking is moved, extended, or shortened on the Schedule. This added step helps prevent accidental changes and ensures edits are intentional.
#### Booking Label Format
The Booking Label Format setting lets you customise how booking labels appear by including details such as the booking name, linked resources, project, client, and status. This allows you to tailor labels to highlight the most relevant information at a glance.
## Quick Info Popover
The Quick Info window appears when you single-click a booking on the Schedule. It provides a compact summary of the booking and offers quick access to common actions. It contains the following information:
* **Booking Name** - The title of the booking, shown at the top.
* **Time & Date** - Start and end time, along with the day of the booking.
* **Resource** - The name of the assigned resource (e.g. Edit Suite 1).
* **Project & Client Info** - Displays the linked project and client, including any tags or labels.
The following actions can be triggered from the Quick Info Popover:
* **Open Quick Edit (Sidebar)** - Opens the booking in a quick-edit sidebar on the right-hand side, allowing for fast adjustments.
* **Open Booking Editor** - Launches the full booking editor for more detailed changes.
* **Copy Booking Link** - Copies a direct link to the booking—ideal for sharing with teammates.
* **Delete Booking** - Permanently removes the booking from the Schedule (confirmation required).
***
## Learn More
We've covered the following topics in detailed guides.
Getting back to basics when working with bookings in Sonderplan.
Export bookings to Excel, CSV, or clipboard for easy sharing and reporting.
# Schedule Keyboard Shortcuts
Source: https://docs.sonderplan.com/en/bookings/shortcuts
Use keyboard shortcuts to speed up common actions on the Schedule
| Shortcut | Description | Other Notes |
| --------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ⌘Ctrl + + | Zoom In on the entire interface | |
| ⌘Ctrl + - | Zoom Out on the entire interface | |
| ←← | Shifts the schedule back by one time period | *e.g. previous month* |
| →→ | Shifts the schedule forward by one time period | *e.g next month* |
| ⌘Ctrl + C | Copies a selected booking | |
| ⌘Ctrl + V | Pastes a selected booking | When you paste on the same day, the booking snaps to the time under your mouse pointer; if you paste on a different day, it keeps the original booking time |
| ⌘Ctrl + E | Opens selected booking in the Quick Edit sidebar | |
| ⌘Ctrl + O | Opens selected booking in the Booking editor modal window | |
| del | Deletes the currently selected or open booking | Note, there is a confirmation dialog before the deletion is processed |
| esc | Closes the currently opened booking, or dialog modal window | Note, there is a confirmation dialog before the deletion is processed |
| ⌘Ctrl + ⏎ | Performs the action indicated by the primary button in the modal or Quick Edit sidebar editor | *e.g. Acknowledge the booking clash, confirm booking changes, save booking etc.* |
| ⌘Ctrl + ⇧ + ⏎ | Saves and closes the booking in the Quick Edit sidebar editor | |
| ⇧ + *Click & Drag Booking* | Snaps the moved booking to the original time | |
### Shortcut Hints
By default, Sonderplan will show shortcut hints on buttons. You can disable these hints by opening up the **Schedule User Preferences Dropdown** -> uncheck **Show Shortcut Hints**
# Import Contacts
Source: https://docs.sonderplan.com/en/contacts/import-contacts
Sonderplan supports importing contacts from VCF (vCard) files, allowing you to quickly bring existing contact data into your workspace from address books, CRMs, or email clients.
### Supported File Format
.vcf (vCard)
Supported exports include:
* Apple Contacts
* Google Contacts
* Outlook
* Most CRM and contact management tools
### What Gets Imported
When you upload a VCF file, Sonderplan will automatically extract and import:
* Contact name
* Email address(es)
* Phone number(s)
* Organisation / company name
* Address details (where available)
To prevent duplicates, email addresses are checked before contacts are saved.
### Visibility & Permissions
Any user who is in a group with edit permissions to the Contact module can use the Import Contact feature. Imported contacts are shared with your team and contacts are visible to staff who have access to Contacts.
### How to Import Contacts
The import process happens in a two-step 'staged' process, so you can preview the contacts to be imported before commiting to any changes.
1. Navigate to Contacts → Import → Import Contacts
2. Click Choose file and select a .vcf file from your computer
3. Review the list of detected contacts
4. Click Import Contacts to add them to your Sonderplan instance
### Notes & Limitations
* Currently, only VCF files are supported however we are open to support additional formats in the future.
* Duplicate detection is currently based on email addresses
* Very large VCF files may take longer to process
If you have feedback or encounter issues while importing contacts, please contact Sonderplan support.
# Migrate from FoxOMS
Source: https://docs.sonderplan.com/en/guides/migrate-from-foxoms
Learn how to migrate your team from FoxOMS to Sonderplan
Sonderplan is the next evolution of FoxOMS, and is produced and supported by the same team behind FoxOMS.com. When creating Sonderplan we took great care to offer a seamless migration path from FoxOMS to Sonderplan.
## Migrating to Sonderplan
The path to migrate your team from FoxOMS to Sonderplan is to simply [login to Sonderplan](https://login.sonderplan.com) using the same credentials as you are using in FoxOMS. All of your data is already in Sonderplan and is also continually synchronised in both directions between FoxOMS and Sonderplan.
It is even possible for some members of your team to use Sonderplan and others to continue to use FoxOMS, although we do recommend they switch to Sonderplan to take advantage of the new interface and features.
## Incompatibilities
Whilst the greatest of care has been taken to maintain backwards compatibility with FoxOMS, some improvements were not possible to port back to FoxOMS.
### Quotes & Invoices
Perhaps the most significant breaking change has been to Quotes/Invoices. The introduction of [Item Groups](/en/quotes-invoices/editor#add-new-group) meant that Quotes & Invoices generated in Sonderplan cannot be opened in FoxOMS.
Conversely, Quotes & Invoices generated in FoxOMS must be *upgraded* to be able to be opened in Sonderplan. Once this upgrade has been performed, the Quote/Invoice can no longer be opened in FoxOMS.
### Schedule User Preferences
Another change in Sonderplan, many [Schedule view preferences](/en/bookings/schedule#user-preferences) have been changed from global settings (where an Administrator sets the preference, and it is applied to all Users) to individual local User Preferences (each User can customise the view to their liking).
This allows for a lot of flexibility as each User can customise the Schedule to suite their preference, however they may need guidance from Administrators or consult our User Documentation to customise the Schedule as it was in FoxOMS.
## Feature Comparison
| Feature | FoxOMS | Sonderplan | Comments |
| :--------------------------------------------------------------------------- | :----: | :--------: | :--------------------------------------------------------------------------------------------------------- |
| **User Interface (UI)** | | | |
| Dark Mode (Toggle) | ✘ | ✔ | |
| Installable on Desktop (PWA) | ✘ | ✔ | |
| Installable on iOS / Android (PWA) | ✘ | ✔ | |
| Single Page App (SPA) | ✘ | ✔ | |
| Live updating of Schedule across multiple tabs | ✘ | ✔ | |
| Collapsible Menu | ✘ | ✔ | |
| Sticky Datatables Headers & Columns | ✘ | ✔ | |
| User Specified Date / Time Format | ✔ | ✔ | |
| User Calendar Feeds | ✔ | ✔ | |
| User Avatar (Image) Upload | ✔ | ✔ | |
| **Schedule Module** | | | |
| **Views** | | | |
| Timeline Views (Day, Week, 2 Week, 3 Week, Month, 2 Month, 3 Month, 6 Month) | ✔ | ✔ | |
| Calendar Views (Day, Week, Month) | ✔ | ✔ | |
| Grid Views (Day, Week, Month) | ✔ | ✔ | |
| Horizontally Scrollable Timeline Views | ✔ | ✔ | |
| Personal Schedule (for User Resources) | ✘ | ✔ | |
| Customisable Timeline Row Height | ✔ | ✔ | |
| Customisable Timeline Zoom | ✘ | ✔ | |
| Timeline Project Scheduling View | ✘ | ✔ | |
| Timeline Y Axis Resource / Project Name Filtering | ✘ | ✔ | |
| Filtering of Bookings | ✔ | ✔ | |
| Public Holidays are shown on Timeline Views | ✘ | ✔ | |
| Booking Preview Window | ✔ | ✔ | |
| Switch Between Schedules | ✔ | ✔ | |
| Switchable Booking Colors (Resource, Project, Status) | ✔ | ✔ | |
| **Bookings** | | | |
| Multi Resource Bookings | ✔ | ✔ | |
| Resource Clash Detection | ✔ | ✔ | |
| Booking Assignable Project, Client & Status | ✔ | ✔ | |
| Create new Project / Client from Booking | ✔ | ✔ | |
| Booking Custom Fields | ✔ | ✔ | |
| Booking Notes | ✔ | ✔ | |
| Repeat Bookings | ✔ | ✔ | |
| Advanced Repeat Bookings - Apply changes to single, future or all repeats | ✘ | ✔ | |
| Booking Print | ✔ | ✔ | |
| Booking Link Copy | ✔ | ✔ | |
| Copy / Paste / Cut Bookings | ✔ | ✔ | |
| Booking Drag Confirmation Dialog | ✔ | ✔ | |
| Booking Edit Protection (Booking Locks) | ✔ | ✔ | |
| Booking File Attachments | ✘ | ✔ | File upload attachments was discontinued in FoxOMS on the 1st of August 2024. Please upload via Sonderplan |
| Realtime Schedule Updates | ✔ | ✔ | |
| Load Region Specific Public Holidays | ✔ | ✔ | |
| Assign Billable Items on Bookings | ✔ | ✔ | |
| Assign Resource Rates on Bookings | ✘ | ✔ | |
| Convert bookings to quotes & invoices | ✔ | ✔ | |
| **Exports** | | | |
| Schedule PDF Export | ✔ | ✔ | |
| Schedule Excel Export | ✔ | ✔ | |
| **Bookings Module** | | | |
| Edit Booking directly from Booking Preview Modal | ✘ | ✔ | |
| **Bookings List (Datatable)** | | | |
| Selectable Booking Columns | ✔ | ✔ | |
| Booking Filters (Name, Date Range, Projects, Clients, Resources, Statuses) | ✔ | ✔ | |
| Savable Booking Filters | ✘ | ✔ | |
| Bulk Booking Change Status | ✘ | ✔ | |
| Bulk Delete Booking | ✘ | ✔ | |
| Export Bookings Table to Excel | ✔ | ✔ | |
| Export Bookings Table to CSV | ✔ | ✔ | |
| Export Bookings Table to Clipboard | ✘ | ✔ | |
| Export Bookings Table to PDF | ✔ | ✂ | |
| **Projects Module** | | | |
| **Projects List (Datatable)** | | | |
| Selectable Project Columns | ✔ | ✔ | |
| Project Filters (Name, Date Range, Clients, Parent Folder, Status) | ✘ | ✔ | |
| Savable Project Filters | ✘ | ✔ | |
| Bulk Project Change Status | ✘ | ✔ | |
| Clone Project | ✔ | ✘ | ETA July 2025 |
| Bulk Delete Project | ✘ | ✔ | |
| Export Projects Table to CSV | ✔ | ✔ | |
| Export Projects Table to Clipboard | ✘ | ✔ | |
| Export Projects Table to Excel | ✔ | ✂ | |
| Export Projects Table to PDF | ✔ | ✂ | |
| **Project View** | | | |
| Automatic Project Code Creation | ✔ | ✔ | |
| Assignable Project Color, Code, Client, Parent Folder and Notes | ✔ | ✔ | |
| Project Custom Fields | ✔ | ✔ | |
| Project Notes | ✔ | ✔ | |
| Project History | ✘ | ✔ | |
| Project Date Range | ✔ | ✔ | |
| Project PhasesNew Feature | ✘ | ✔ | |
| Project MilestonesNew Feature | ✘ | ✔ | |
| Project Bookings Table | ✔ | ✔ | |
| Project File Attachments | ✘ | ✔ | File upload attachments was discontinued in FoxOMS on the 1st of August 2024. Please upload via Sonderplan |
| Project Messages | ✔ | ✂ | |
| Project Add / Remove Team Members | ✔ | ✔ | |
| Project Team Member Role Titles | ✔ | ✘ | ETA July 2025 |
| Project Visibility Control | ✔ | ✔ | |
| Project Calendar Feeds | ✔ | ✔ | |
| Project Sales Overview | ✔ | ✘ | ETA July 2025 |
| **Contacts Module** | | | |
| **Contacts List (Datatable)** | | | |
| Separate Contacts Module (no Admin Access Required) | ✘ | ✔ | |
| People and Organizations are shown on a single screen | ✘ | ✔ | |
| Selectable Contact Columns | ✔ | ✔ | |
| Contacts have assignable emails, phone numbers, address and notes | ✔ | ✔ | |
| Initiate Email and Phone call contact buttons | ✘ | ✔ | |
| Contacts Custom Fields | ✔ | ✔ | |
| Contact Person Assignable to Organization | ✔ | ✔ | |
| View members of an organization from Contact Editor | ✘ | ✔ | |
| Filter and Search Contacts Table | ✘ | ✔ | |
| Savable Contact Filters | ✘ | ✘ | ETA July 2025 |
| Contact Excel / CSV Import | ✘ | ✘ | ETA July 2025 |
| Export Contacts Table to CSV | ✔ | ✔ | |
| Export Contacts Table to Clipbard | ✘ | ✔ | |
| Export Contacts Table to Excel | ✔ | ✂ | |
| Export Contacts Table to PDF | ✔ | ✂ | |
| **Sales Module** | | | |
| List Quotes and Invoices | ✔ | ✔ | |
| Create Quotes and Invoices | ✔ | ✔ | |
| Send Quotes and Invoices via Email | ✔ | ✔ | |
| Export Quotes / Invoices to PDF | ✔ | ✔ | |
| Export Quotes / Invoices to Excel | ✔ | ✘ | ETA July 2025 |
| Quotes & Invoices support grouping of items | ✘ | ✔ | |
| **Reports Module** | | | |
| Booking Timeline Report | ✔ | ✘ | ETA July 2025 |
| Booking Resources Totals Report | ✔ | ✘ | ETA July 2025 |
| Booking Projects Totals Report | ✔ | ✔ | New project costs report located within each project |
| Booking Clients Totals Report | ✔ | ✘ | ETA July 2025 |
| Sales Timeline Report | ✔ | ✘ | ETA July 2025 |
| Project Profit / Loss Report | ✘ | ✔ | |
| **Admin Module** | | | |
| **Resources** | | | |
| Create / Edit / Delete Resources & Resource Groups | ✔ | ✔ | |
| Re-order Resources / Resource Groups | ✔ | ✔ | |
| Resource Calendar Feeds | ✔ | ✔ | |
| Selectable Resource Columns | ✔ | ✔ | |
| Filter and Search Resource Table | ✔ | ✔ | |
| Export Resource Table to CSV | ✔ | ✔ | |
| Export Resource Table to Clipboard | ✘ | ✔ | |
| Export Resource Table to Excel | ✔ | ✂ | |
| **Schedules / Workspaces** | | | |
| Create / Edit / Delete Workspaces | ✔ | ✔ | |
| Workspace Hours (First Hour / Last Hour) | ✔ | ✔ | |
| Work Week (Weekend Definition) | ✔ | ✔ | |
| Sunday / Monday Week Start | ✔ | ✔ | |
| Public Holiday Region | ✔ | ✔ | |
| Scroll to Time | ✔ | ✂ | |
| Booking Time Step (Snapping) | ✔ | ✔ | Moved to Workspace preferences |
| Bookings Fill Entire Cell | ✔ | ✂ | |
| Re-order Workspaces | ✔ | ✔ | |
| Workspace Calendar Feeds | ✔ | ✔ | |
| Selectable Workspace Columns | ✔ | ✔ | |
| Filter and Search Workspace Table | ✔ | ✔ | |
| Export Workspace Table to CSV | ✘ | ✔ | |
| Export Workspace Table to Clipboard | ✘ | ✔ | |
| **Users & Groups** | | | |
| Assign / Un-assign contacts to Users | ✔ | ✔ | |
| Reset User Password | ✔ | ✔ | |
| Selectable User / Group Columns | ✔ | ✔ | |
| User / Group Filtering & Search | ✔ | ✔ | |
| Active User Sessions List | ✘ | ✔ | |
| **Rate Schemes** | | | |
| Create / Edit / Delete Rate Schemes | ✔ | ✔ | Replaced with resource rates & services |
| Filter and Search Rate Scheme Table | ✘ | ✔ | |
| **Billable Items** | | | |
| Create / Edit / Delete Billable Items | ✔ | ✔ | |
| Filter and Search Rate Billable Items Table | ✘ | ✔ | |
| Add "Buy" cost to Billable Items | ✘ | ✔ | |
| Set "Currency" on Billable Items | ✘ | ✔ | |
| Defined multiple taxes on Billable Items | ✘ | ✔ | |
| **Custom Fields** | | | |
| Create / Edit / Delete Custom Fields | ✔ | ✔ | |
| Filter and Search Custom Fields Table | ✘ | ✔ | |
| Re-order Custom Fields | ✔ | ✔ | |
| **Rest Hooks (Web hooks)** | | | |
| Create / Edit / Delete Web Hooks | ✘ | ✔ | |
| Filter and Search Web Hooks Table | ✘ | ✔ | |
| **API Clients** | | | |
| Create / Delete API Clients | ✔ | ✔ | |
| Filter and Search API Clients Table | ✘ | ✔ | |
| **Module Settings -> Schedule -> Global Schedule Settings** | | | |
| Real time Schedule Updates | ✔ | ✔ | Automatically enabled in Sonderplan |
| Booking Edit Protection (Booking Locks) | ✔ | ✔ | Automatically enabled in Sonderplan |
| Required Resources Option | ✔ | ✔ | |
| Required Status Option | ✔ | ✔ | |
| Required Project Option | ✘ | ✔ | |
| Required Client Option | ✘ | ✔ | |
| Show Week Numbers Option | ✔ | ✔ | |
| Disable Clash Detection by Booked Resources | ✔ | ✔ | |
| Disable Clash Detection by Booking Status | ✔ | ✔ | |
| Confirm Booking Changes when moving a booking | ✔ | ✔ | Automatically enabled in Sonderplan |
| Booking Color Priority by Resource Type | ✔ | ✘ | ETA July 2025 |
| Bookings linked to Private Projects are viewable to all users | ✔ | ✂ | Bookings linked to private projects are obfuscated to users without project access |
| Bookings can only be edited by owners and administrators | ✔ | ✔ | |
| Booking Label Template | ✔ | ✔ | Moved to Workspace preferences |
| Booking Cell Sort Option | ✔ | ✔ | |
| Enable / Disable Booking Notifications for all Users | ✔ | ✔ | |
| BCC Administrators on all Booking Notifications | ✔ | ✔ | |
| Calendar views load bookings from all Schedules | ✔ | ✂ | |
| Calendar Subscription importNew Feature | ✘ | ✔ | |
| **Module Settings -> Schedule -> Booking Statuses** | | | |
| Create / Edit / Delete Booking Statuses | ✔ | ✔ | Moved to Schedule -> Booking Statuses |
| **Module Settings -> Project -> Project Settings** | | | |
| Next Project Code Value | ✔ | ✔ | Moved to Project -> Global Project Settings |
| Enable Project Notifications Option | ✔ | ✔ | Moved to Project -> Global Project Settings |
| **Module Settings -> Project -> Project Roles** | | | |
| Create / Edit / Delete Project Roles | ✔ | ✘ | ETA September 2025 |
| **Module Settings -> Project -> Manage Projects** | | | |
| Project Ordering | ✔ | ✂ | Custom ordering is deprecated in Sonderplan |
| **Module Settings -> Sales -> Invoice Quote Settings** | | | |
| Contact Details | ✔ | ✔ | |
| Quote / Invoice Terms | ✔ | ✔ | |
| Reply to Email Address / Include Sender Options | ✔ | ✔ | |
| Enable Invoice Item Groups | ✔ | ✔ | Automatically enabled in Sonderplan |
| Default Currency | ✔ | ✔ | |
| Tax Name / Tax Rate | ✔ | ✔ | |
| Allow multiple taxes to be defined | ✘ | ✔ | |
| Quote / Invoice Prefix | ✔ | ✔ | |
| Next Invoice / Quote Number | ✔ | ✔ | |
| **Module Settings -> Sales -> Email Templates** | | | |
| Quote / Invoice Email Templates | ✔ | ✔ | |
| **Module Settings -> Sales -> Quote / Invoice Templates** | | | |
| Create / Edit / Delete Quote & Invoice Templates | ✔ | ✔ | |
| **Module Settings -> SAML SSO -> SAML Single Sign On (SSO) Settings** | | | |
| Enable SAML SSO with third party identity provider | ✔ | ✔ | Moved to System Settings in Sonderplan |
| **System Settings** | | | |
| Set Company Name | ✔ | ✔ | |
| Upload Company Logos | ✔ | ✂ | |
| Set User Account Defaults | ✔ | ✔ | Moved to Admin -> User / Groups page in Sonderplan |
| Set Client View Mode | ✔ | ✂ | |
# Introduction
Source: https://docs.sonderplan.com/en/introduction
Welcome to the Sonderplan User Documentation
## What is Sonderplan?
Sonderplan.com is an online resource scheduling platform designed for businesses who need to manage their rooms, equipment and people. Sonderplan is widely used in the Film, Television and Radio industries, but is also used in other sectors as well as universities and charities.
Our documentation is currently available in [English](/en/introduction) and [German](/de/introduction) (AI translated). If you find any issues, please contact us.
## Setting up
The first step to streamlining your resource scheduling processes is to sign up for a 30 day free trial. Once you've got your account setup, follow our handy Quickstart guide on things you'll want to do first
This usually takes 5 to 10 minutes, to provision your Sonderplan instance and activate your account
So you've got your Sonderplan, but what now? This guide outlines your first recommended steps in Sonderplan
Invite your team to Sonderplan allowing everyone to be on the same page when scheduling and managing projects
Manage and organize bookable resources such as rooms, equipment, and personnel to streamline scheduling
## Make it yours
Customise Sonderplan to fit your workflow and be fully integrated in your production pipeline.
Customize your quote and invoice themes to perfectly match your company's colors and brand
Create and manage custom booking statuses, with colour coding and notification settings
Extend the data model to capture the unique information your team needs with user-defined custom fields
Configure and manage SAML Single Sign-On (SSO) integration for secure and seamless user access
Build powerful integrations with more than 7000 other leading cloud tools with "No Code" tools like Zapier
Bespoke custom integrations are enabled by our powerful and industry leading REST API and Webhooks
# Project Basics
Source: https://docs.sonderplan.com/en/projects/basics
Quickly set up and manage every aspect of your project, centralising all the project metadata and attachments.
Projects are a great way to organise jobs that contain multiple bookings with your team members and clients. You can also add files, specific resource rates, quotes and invoices and control access for your team.
## Project Properties
Projects must always include a **name**. Additionally, projects may include any of the following properties:
Multiple bookings may be assigned to a project and several booking properties flow through to the project
Any time entries that were logged by resources directly to any booking assigned to the project
Pulls through client contact info and used to prefill quotes / invoices
Projects have two statuses, In Progress and Archived
Projects may be organised into folders, great for episodic productions
A start and end date can be set to mark the anticipated timeline of the project
Phases and milestones can be added to projects, which are displayed on the project timeline
Details about the linked quotes & invoices attached to the project
Files that are related to this project can be uploaded and attached directly
Users and groups can be added to private projects, giving them access to view associated bookings
Single, multi line, select menu and date picker input fields can be added to projects
Reports about resource utilisation, booking totals, time logs related to the project
Calendar feed which contains all the bookings related to the project
Details about who, changed what, including when they did it
## Creating a Project
To create a project you must be in a user group with **Edit** permissions to the project module. Please contact your account administrator if you do not see the **New** button on the Projects page
Projects may be created from the main Projects page by clicking the **New** button above the projects table. Projects may also be created *inline* directly from within **Bookings**, **Quotes** and **Invoices** by clicking on the button next to the **Project** label.
### Assigning Project Colour
To assign a project colour, click on the colour window to the left of the **Project Name** field, a colour picker will appear.
Project colours can be used to colour bookings on the Schedule, when the [Colour Mode](/en/bookings/schedule#booking-colors) is set to **Project**.
### Automatically filling Project Code
Sonderplan can automatically set your numerical project codes, ensuring you don't accidentally have duplicates. To fill a project code automatically, click on the button and the next project code number will be displayed.
To change the next project code, you can make the change in the [Admin Project Settings](/en/admin/global-project-settings)
## Projects Table
The projects table will show you any project set with the *Everyone* visibility, as well as any *Private* projects to which you've been added to, either directly or via your user group.
Users with **View** access to the **Admin** module will see all projects, even if they have not been added to a project
# Project Rates
Source: https://docs.sonderplan.com/en/projects/project-rates
Tailor service rates to your project’s specific resources for seamless, accurate billing
Project Rates let you define custom hour-, day-, and week-rates for any combination of services and resources on a per-project basis. Once set, every new or updated booking in that project picks up these rates automatically—no more manual overrides or billing surprises.
To add, edit or delete project rate schemes, you must be in a User Group with **Edit** access to both the **Project** and **Sales** modules
## Create Rate Scheme
1. Open the [project](/en/projects/basics) you wish to create a new *Rate Scheme* for.
2. Click on the **Rates** tab -> **+ Project Rate Scheme**
3. Enter a short **name** for the rate scheme, eg "Editing", "Grading" or "Sound Post"
4. In the **Rates** tab, enter **buy** / **sell** rates for the **hour**, **day** and **week**
5. Confirm the set **currency** and **tax** settings are correct
6. Optionally, on the **Description** tab, enter a **description** to provide more info on the rate scheme
7. Click the **Resources** tab and select any **resources** that should be in the scope of this rate scheme.
8. Finally click **Save and Close** to save and exit from the New Rate Scheme window
### Booking Prefill Description
You can customise the description automatically prefilled when converting one or more bookings into a quote or invoice. Shortcodes let you insert placeholders that are dynamically replaced as each booking is added.
#### Shortcodes
| Placeholder | Description |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| `[bookingUID]` | Unique Identifier of the booking |
| `[bookingName]` | Name of the booking |
| `[bookingNotes]` | Notes attached to the booking |
| `[bookingStart:yyyy-MM-dd]` | The start date / time of the booking in various formats (see formatting table below) |
| `[bookingEnd:yyyy-MM-dd]` | The end date / time of the booking in various formats (see formatting table below) |
| `[bookingProjectName]` | Name of the project attached to the booking |
| `[bookingProjectCode]` | Value of the project code attached to the booking |
| `[bookingClientName]` | Name of the client attached to the booking |
| `[bookingClientContactName]` | Name of the client attached to the booking |
#### Date Formats
The following date formats can be used in the `[bookingStart:]` and `[bookingEnd:]` shortcodes outlined in the table above.
| Token | Description |
| ------ | ----------------------------------- |
| `yyyy` | 4-digit year (e.g. 2025) |
| `yy` | 2-digit year (e.g. 25) |
| `MMMM` | Full month name (e.g. June) |
| `MMM` | Abbreviated month name (e.g. Jun) |
| `MM` | Month number, zero-padded (01–12) |
| `M` | Month number (1–12) |
| `dd` | Day of month, zero-padded (01–31) |
| `d` | Day of month (1–31) |
| `HH` | Hour (24-hour), zero-padded (00–23) |
| `H` | Hour (24-hour) (0–23) |
| `hh` | Hour (12-hour), zero-padded (01–12) |
| `h` | Hour (12-hour) (1–12) |
| `mm` | Minute, zero-padded (00–59) |
| `m` | Minute (0–59) |
## Edit Rate Scheme
1. To edit a rate scheme, click on the **Rates** tab then click on the **name** of the Rate Scheme you wish to edit.
2. Make the desired changes to the rate scheme, including the name, description, currency, tax, rates or scoped resources.
3. Finally click **Save and Close** to save and exit from the New Rate Scheme window.
## Delete Rate Scheme
1. To delete a rate scheme, click on the **Rates** tab then click on the **name** of the Rate Scheme you wish to delete.
# Quickstart
Source: https://docs.sonderplan.com/en/quickstart
Start scheduling and managing projects with Sonderplan in under 5 minutes
For this guide, we assume you've already [created a Sonderplan trial](https://www.sonderplan.com/free-trial) and logged in to your instance.
Add rooms, equipment, and staff as resources so they’re available for scheduling.
Send invitations to your colleagues so they can join Sonderplan and collaborate.
Add client organizations and their key contacts to keep all project stakeholders organized.
Set up new projects with details like timelines, budgets, and assigned resources.
Begin allocating resources to tasks and visualize your calendar to manage bookings.
# Editor Interface
Source: https://docs.sonderplan.com/en/quotes-invoices/editor
Design and dispatch polished quotes and invoices directly from Sonderplan, in one intuitive interface.
The *Quote & Invoice Editor* in Sonderplan provides a simple interface for creating, editing, and managing quotes and invoices. The layout, controls, and workflows are identical for both.
From this point, we'll mostly talk about creating and editing **quotes**, however the process with invoices is almost identical!
To navigate to the Quote editor in Sonderplan, open the main navigation menu and expand the **Sales** menu.
To open an existing quote, click on the **Quote Number** from the **Quotes** table, or to create a new quote click on the **New** button **->Quote**.
## Header Toolbar
If you open an existing quote, in the top left of the editor, you'll see the generated **quote number**. If you're working on a new quote, this number will be generated when you first click the **Save** button.
In the top-right, you’ll find:
* **Status** Menu (e.g., Draft): Shows current document status; click to change (e.g., to Sent, Accepted).
**Quote Statuses** - **Draft, Sent, Accepted, Invoiced** and **Declined**
**Invoice Statuses** - **Draft, Submitted, Awaiting Payment** and **Paid**
* - **Settings**: Opens the actions menu for advanced operations such as exporting to PDF, changing the currency or theme
* - **Email**: Opens the Send modal for emailing the PDF to the client or contact person specified on the quote
* - **Print**: Generates a print-friendly view or PDF.
* - **Save**: Saves your changes.
### Updating Document Prefix
Sonderplan allows you to override the prefix for an individual **quote** or **invoice**, providing flexibility when a specific document needs a different numbering format.
#### How to update the prefix
1. Open the **Quote** or **Invoice**
2. Click the **settings (⚙️) icon** in the top toolbar
3. Select **“Prefix”** from the dropdown menu
4. Enter your desired prefix and save
#### What this affects
* The prefix change applies **only to the current document**
* It overrides the default prefix for this specific quote or invoice
* Other documents will continue using the global prefix settings
#### When to use this
* A document needs to follow a different numbering convention
* You are issuing documents for different business units or clients
* You need to correct or adjust a prefix on a one-off basis
#### Global prefix settings
If you want to update prefixes for all future documents, this can be configured in: [Admin → Global Sales Settings](/en/admin/global-sales-settings)
#### Notes
* Changing the prefix does **not** impact existing documents (other than the one being edited)
* Future documents will continue using the global prefix unless overridden individually
* Prefixes can be updated at any time
## Client / Contact Person
In the next section, you can select the **Client** that this quote will be attached to. The client field is required to be set to allow the quote to be saved. If the client selected is an *organization*, and if *people client contacts* have been added to the client organization, they will be selectable in the **Client Contact Person** menu.
## Reference / Dates
To the right of the client / contact fields are the **Reference**, **Date** and **Due Date** fields.
## Project / Custom Fields
Moving further down, you can select the **Project** that this quote is related to. If you have created **Custom Fields** for the *quote and / or invoice* modules they will also appear in this section.
## Quote & Invoice Items
Use the Items & Groups section of the Quote/Invoice Editor to organize your services, products, or custom line items into logical sections, apply discounts and taxes, and manage internal cost and pricing details.
Items and groups can be re-arranged by clicking and dragging the item/grou from the area. Items can be moved in and out of groups, however only a single level of grouping is supported, groups cannot be nested within other groups.
### Add New Item
Click the button to add a new item to your quote. The **Item Name** menu will be immediately opened with all **Services**, **Resources** and **Billable Items**. You can start typing to quickly find the correct item, or you can also type the complete name of the item and press ⏎ to create a custom item.
### Add New Group
Click the button to add a new group to your quote, enter a **Group Name** and optional **Description** for the group. You can also apply a group discount that will apply the same discount to each item within the group.
## Totals
The following totals will be calculated and displayed at the bottom of the quote.
| Type | Description |
| ---------------- | ----------------------------------------------------------------------------------- |
| Sub Total | Total of all quote items before tax and discounts are applied |
| Discount Total | Total amount discounted from the quote |
| Net Total | Subtotal after any discounts, not including taxes |
| Tax Total | The amount of tax charged on the quote |
| Total | The grand total (net + tax) of the quote |
| Total Costs | The total amount of buy costs of the quote |
| Estimated Margin | Shows projected profit for the quote, calculated as profit/total revenue percentage |
## Terms
The **Terms** text input lets you communicate all the fine print your client needs to know before accepting a quote, use this field to spell out your payment and contractual conditions. Typical clauses include:
* Validity: How long the quote remains open (e.g. “Valid for 30 days from date of issue”).
* Deposit & Payment Schedule: Any upfront deposit (e.g. “50% due on acceptance”) and when the remainder is payable (e.g. “Balance due within 14 days of delivery”).
* Late Fees: Interest or penalties applied to overdue balances (e.g. “1.5% per month on outstanding amounts”).
* Scope & Extras: Clarify that out-of-scope work will be billed separately at your standard rates.
* Exclusions: Note any costs not included (taxes, duties, shipping, etc.).
* Cancellation Policy: Notice periods and any non-refundable deposit terms (e.g. “Cancellations must be submitted in writing at least 7 days before start date; deposits non-refundable”).
# Export Formats
Source: https://docs.sonderplan.com/en/quotes-invoices/export
Gain real-time insights with prebuilt and custom reports that show the resources, rates and billable items used to work on the project.
Quotes and Invoices can be exported to Excel and CSV formats, as well as complete JSON objects when accessed via the Sonderplan REST API.
The tables below describes the output columns available in each of the export formats.
## Quotes
### CSV File
To generate a *comma seperated values* (CSV) file, on the **Sales -> Quotes** page, click the ** -> Export -> CSV File** button.
| | |
| --------------- | ----------------- |
| Generated on | **Local Browser** |
| Maximum Results | **250** |
#### Columns
The following columns may be selected via the menu.
| Id | Currency | Number | Client | Reference | Date Issued | Expiry Date | Project | Status | Sub Total | Discount Total | Buy Total | Net Total | Tax Total | Total | Theme | Created Date | Created By | Updated Date | Updated By |
| ----- | -------- | ------ | ------------ | --------- | --------------- | --------------- | ----------------------------------- | --------- | ----------- | -------------- | ----------- | ----------- | --------- | ----------- | ------- | --------------------- | ---------- | --------------------- | ---------- |
| 43578 | AUD | INV-1 | VW Australia | 9238423 | Tu, 15 Apr 2025 | Tu, 29 Apr 2025 | ID Buzz Australia Launch \[WV-1292] | Submitted | A\$3,475.00 | A\$0.00 | A\$1,600.00 | A\$3,475.00 | A\$0.00 | A\$3,475.00 | Default | 20:25 Tu, 15 Apr 2025 | Tim Mohr | 20:25 Tu, 15 Apr 2025 | Tim Mohr |
### Excel Spreadsheet
To generate an Excel Spreadsheet file, on the **Sales -> Quotes** page, click the ** -> Export -> Excel Spreadsheet** button.
| | |
| --------------- | ---------- |
| Generated on | **Server** |
| Maximum Results | **10,000** |
#### Standard Template Columns
The following columns are output when the **Standard** excel template is selected.
| QuoteNumber | Reference | Status | Date | ExpiryDate | Total | TaxTotal | SubTotal | DiscountTotal | NetTotal | Currency | ClientName | ClientEmail1 | ClientEmail2 | ClientEmail3 | ClientPhone1 | ClientPhone2 | ClientPhone3 | ClientAddressLine1 | ClientAddressLine2 | ClientAddressLine3 | ClientAddressCity | ClientAddressState | ClientAddressPostCode | ClientAddressCountry | ClientWebsite | ClientNotes | ContactName | ContactEmail1 | ContactEmail2 | ContactEmail3 | ContactPhone1 | ContactPhone2 | ContactPhone3 | ContactAddressLine1 | ContactAddressLine2 | ContactAddressLine3 | ContactAddressCity | ContactAddressState | ContactAddressPostCode | ContactAddressCountry | ContactWebsite | ContactNotes | ProjectName | ProjectCode | ProjectDescription | ProjectStatus | ItemGroupName | ItemGroupDescription | ItemUUID | ItemRateSchemeId | ItemText | ItemDescription | ItemQuantity | ItemUnit | ItemUnitAmount | ItemUnitBuyAmount | ItemDiscount | ItemLineAmount | ItemTaxAmount | ItemBookingId | Terms |
| ----------- | --------- | --------- | ------------------------- | ------------------------- | ----- | -------- | -------- | ------------- | -------- | -------- | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------------ | ------------------ | ------------------ | ----------------- | ------------------ | --------------------- | -------------------- | ------------- | ----------- | ----------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------------- | ------------------- | ------------------- | ------------------ | ------------------- | ---------------------- | --------------------- | -------------- | ------------ | ----------------------- | ----------- | ------------------ | ------------- | ------------- | ------------------------------------------- | -------- | ---------------- | -------- | --------------- | ------------ | -------- | -------------- | ----------------- | ------------ | -------------- | ------------- | ------------- | ----- |
| QU-1 | | Submitted | 2025-04-15T00:00:00+10:00 | 2025-04-29T23:59:59+10:00 | 3475 | 0 | | | | AUD | VW Australia | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IDBuzz Australia Launch | VW-1292 | | In Progress | Offline | Thursday, 17 Apr 2025 - Friday, 18 Apr 2025 | r23405 | 2932 | Edit 1 | | 2 | daily | 500 | 0 | 0.00% | 1000 | | 1940070 | |
#### Extended Template Columns
The **extended** template includes expanded data about the quote and related models, including custom fields related to the client, project and bookings.
Currently only single quotes can be exported using the Extended template
***
## Invoices
### CSV File
To generate a *comma seperated values* (CSV) file, on the **Sales -> Invoices** page, click the ** -> Export -> CSV File** button.
| | |
| --------------- | ----------------- |
| Generated on | **Local Browser** |
| Maximum Results | **250** |
#### Columns
The following columns may be selected via the menu.
| Id | Currency | Number | Client | Reference | Date Issued | Due Date | Project | Status | Sub Total | Discount Total | Buy Total | Net Total | Tax Total | Total | Theme | Created Date | Created By | Updated Date | Updated By |
| ----- | -------- | ------ | ------------ | --------- | --------------- | --------------- | ----------------------------------- | --------- | ----------- | -------------- | ----------- | ----------- | --------- | ----------- | ------- | --------------------- | ---------- | --------------------- | ---------- |
| 43578 | AUD | INV-1 | VW Australia | 9238423 | Tu, 15 Apr 2025 | Tu, 29 Apr 2025 | ID Buzz Australia Launch \[WV-1292] | Submitted | A\$3,475.00 | A\$0.00 | A\$1,600.00 | A\$3,475.00 | A\$0.00 | A\$3,475.00 | Default | 20:25 Tu, 15 Apr 2025 | Tim Mohr | 20:25 Tu, 15 Apr 2025 | Tim Mohr |
### Excel Spreadsheet
To generate an Excel Spreadsheet file, on the **Sales -> Invoices** page, click the ** -> Export -> Excel Spreadsheet** button.
| | |
| --------------- | ---------- |
| Generated on | **Server** |
| Maximum Results | **10,000** |
#### Standard Template Columns
The following columns are output when the **Standard** excel template is selected.
| InvoiceNumber | Reference | Status | Date | DueDate | Total | TaxTotal | SubTotal | DiscountTotal | NetTotal | Currency | ClientName | ClientEmail1 | ClientEmail2 | ClientEmail3 | ClientPhone1 | ClientPhone2 | ClientPhone3 | ClientAddressLine1 | ClientAddressLine2 | ClientAddressLine3 | ClientAddressCity | ClientAddressState | ClientAddressPostCode | ClientAddressCountry | ClientWebsite | ClientNotes | ContactName | ContactEmail1 | ContactEmail2 | ContactEmail3 | ContactPhone1 | ContactPhone2 | ContactPhone3 | ContactAddressLine1 | ContactAddressLine2 | ContactAddressLine3 | ContactAddressCity | ContactAddressState | ContactAddressPostCode | ContactAddressCountry | ContactWebsite | ContactNotes | ProjectName | ProjectCode | ProjectDescription | ProjectStatus | ItemGroupName | ItemGroupDescription | ItemUUID | ItemRateSchemeId | ItemText | ItemDescription | ItemQuantity | ItemUnit | ItemUnitAmount | ItemUnitBuyAmount | ItemDiscount | ItemLineAmount | ItemTaxAmount | ItemBookingId | Terms |
| ------------- | --------- | --------- | ------------------------- | ------------------------- | ----- | -------- | -------- | ------------- | -------- | -------- | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------ | ------------------ | ------------------ | ------------------ | ----------------- | ------------------ | --------------------- | -------------------- | ------------- | ----------- | ----------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------------- | ------------------- | ------------------- | ------------------ | ------------------- | ---------------------- | --------------------- | -------------- | ------------ | ----------------------- | ----------- | ------------------ | ------------- | ------------- | ------------------------------------------- | -------- | ---------------- | -------- | --------------- | ------------ | -------- | -------------- | ----------------- | ------------ | -------------- | ------------- | ------------- | ----- |
| INV-1 | | Submitted | 2025-04-15T00:00:00+10:00 | 2025-04-29T23:59:59+10:00 | 3475 | 0 | | | | AUD | VW Australia | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IDBuzz Australia Launch | VW-1292 | | In Progress | Offline | Thursday, 17 Apr 2025 - Friday, 18 Apr 2025 | r23405 | 2932 | Edit 1 | | 2 | daily | 500 | 0 | 0.00% | 1000 | | 1940070 | |
#### Extended Template Columns
The **extended** template includes expanded data about the invoice and related models, including custom fields related to the client, project and bookings.
Currently only single invoices can be exported using the Extended template
#### Xero Manual Import
This Excel file can be used to manually import invoices created in Sonderplan to Xero.
Before importing the file into Xero
* Enter the relevant account code in **AccountCode** as it displays in the chart of accounts.
* Enter the tax rate display name in **TaxType** as it displays in tax settings, *eg GST on Income*
* Google *"Xero Import Customer Invoices"* to find the official Xero help documentation on importing invoices
To automatically sync invoices between Sonderplan and Xero, you can create an integration with our [Zapier connector](/en/admin/zapier).
# User Interface
Source: https://docs.sonderplan.com/en/ui/general
Learn how Sonderplan’s unified interface works across the platform—from navigation and theme settings to real-time syncing and powerful filtering tools.
The Sonderplan user interface is designed to provide a consistent, intuitive experience across all pages, with a focus on ease of navigation, customisation, and real-time responsiveness. Below is an overview of the key UI components and concepts that are shared throughout the platform.
## Interface Elements
### Collapsible Navigation Sidebar
Located on the left side of the screen, the main navigation gives you access to core areas of the platform including **Schedule, Bookings, Projects, Contacts, Sales**, and **Admin** pages.
* You can collapse or expand the sidebar using the arrow toggle, freeing up screen space when needed.
* The bottom section of the expanded sidebar contains quick access links to the Sonderplan documentation and support system, making it easy to find help when you need it.
### Running Timer
Users enabled with Time Tracking will see a running timer in the top of the main navigation sidebar.
### Light / Dark Mode Toggle
At the bottom of the navigation menu, you'll find the **light/dark mode** toggle, allowing you to switch themes based on your preferences or work environment. Your choice is saved automatically and applied across all pages.
### Live Updates Status
The **Online status** indicator at the very bottom left reflects the health of Sonderplan’s live updates service—the system responsible for keeping your interface in sync with real-time changes made by you or your team. If this service is disrupted, you’ll be alerted to ensure you're aware of potential delays in data updates.
### Main Content Area
The central part of every page is the main content container, where you’ll interact with schedules, bookings, quotes, invoices, reports and other modules.
### Collapsible Filter Panel
Most pages also feature a collapsible filter panel on the right-hand side. These filters allow you to refine the data you're viewing—such as by resource, project, client, or date range—and update results in real time. You can open or close this panel as needed to suit your workflow.
# My Account
Source: https://docs.sonderplan.com/en/ui/my-account
Manage your name, security credentials, user interface settings and notification preferences
To open the *My Account* page, in the main sidebar menu, click on **your Name** --> **My Account**.
## Profile
Use the Profile section to review and update your basic identity and primary login email:
### First Name & Last Name
Enter or correct the name you’d like displayed throughout Sonderplan (e.g. in booking confirmations).
### Primary Email
Your main contact and login address. To change this, replace the current email and click Save Changes. A confirmation email may be sent to verify the new address.
## Account Settings
Control regional formats, time handling, and notifications:
| Setting | Description |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Locale** | Choose your language and regional conventions (e.g. English (US), Deutsch (DE)). Affects system UI text and currency formats. |
| **Timezone** | Select your local timezone (e.g. Australia/Sydney +10:00). All booking times, calendar feeds, and timestamps will display accordingly. |
| **Date Format** | Pick your preferred date notation (e.g. `dd/mm/yyyy`, `mm/dd/yyyy`, `yyyy-mm-dd`). |
| **Time Format** | Choose 12-hour or 24-hour clock display. |
| **Notifications** | Control how Sonderplan contacts you about activity: `Send notification emails (default)`, `Do not send emails` |
## Personal Calendar Feed
Subscribe to your bookings in external calendar apps (e.g. Google Calendar, Outlook):
1. **Enable Calendar Feed** - Tick the checkbox to activate your personal iCal feed.
2. **Calendar Feed URL** - Copy this secure URL and paste it into your calendar application’s “Subscribe to a calendar” field.
Treat this link like a password, do not share it publicly.
## Photo
Upload or update your profile picture, which appears next to your name in Sonderplan:
1. Click the avatar area to open the file picker.
2. Select a square portrait image (JPEG or PNG).
3. The new photo will display immediately—click Save Changes to finalize.
## User Actions
### Change Password
1. Click **Change Password** to open a secure dialog.
2. Enter your **current password**, then choose and confirm a **new, strong password**.
3. Click **Save** to update.
# Create Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/create-billable-item
/api-reference/openapi-mintlify.yaml post /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Delete Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/delete-billable-item
/api-reference/openapi-mintlify.yaml delete /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Get Billable Items
Source: https://docs.sonderplan.com/api-reference/billable-item/get-billable-items
/api-reference/openapi-mintlify.yaml get /v2/billable-item
Billable items can be added to bookings, quotes, and invoices as predefined entries with a fixed unit price.
Examples of billable items include catering services provided to clients, storage fees (typically charged per terabyte), and media transcoding (usually billed per minute).
`READ` access to the `SALES` module is required to access this endpoint
# Update Billable Item
Source: https://docs.sonderplan.com/api-reference/billable-item/update-billable-item
/api-reference/openapi-mintlify.yaml put /v2/billable-item
`WRITE` access to the `SALES` module is required to access this endpoint
# Bulk Bookings
Source: https://docs.sonderplan.com/api-reference/booking/bulk-bookings
/api-reference/openapi-mintlify.yaml post /v2/booking/bulk
This endpoint implements Create, Update and Delete of bulk bookings. It is intended for *one time* import operations, or other use cases that require higher performance at the expense of notification and realtime update features.
`WRITE` access to the `SCHEDULE` module is required to access this endpointBookings created, edited or deleted using this endpoint won't trigger **email notifications**, **web-hooks** or **realtime schedule updates**
# Create Booking
Source: https://docs.sonderplan.com/api-reference/booking/create-booking
/api-reference/openapi-mintlify.yaml post /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
The `bookingCreated` webhook will be fired when this endpoint has run successfullyTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Delete Booking
Source: https://docs.sonderplan.com/api-reference/booking/delete-booking
/api-reference/openapi-mintlify.yaml delete /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpointTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Get Booking Clashes
Source: https://docs.sonderplan.com/api-reference/booking/get-booking-clashes
/api-reference/openapi-mintlify.yaml get /v2/booking/checkclash
A booking clash is when one or more bookings overlap in time and (optionally) resources, which would create a double booking or scheduling conflict.
`READ` access to the `SCHEDULE` module is required to access this endpointIf you are creating a booking and want to be sure there won't be a collision, you **don't** need to call this endpoint first.
New and updated bookings are automatically checked for clashes, unless the `check_clashes=false` is present as a query parameter.
# Get Bookings
Source: https://docs.sonderplan.com/api-reference/booking/get-bookings
/api-reference/openapi-mintlify.yaml get /v2/booking
Bookings can be understood as time-based events (with start and end dates / times), which are typically represented on a calendar.
Bookings include details about the event's timing, the resources being used, and additional information such as the client, associated project, rate details, and any custom attributes defined through custom fields.
`READ` access to the `SCHEDULE` module is required to access this endpoint
# Lock Booking
Source: https://docs.sonderplan.com/api-reference/booking/lock-booking
/api-reference/openapi-mintlify.yaml put /v2/booking/lock
The Sonderplan user interface features a booking locking system that prevents accidental overwrites when multiple users are editing the same booking.
A booking lock is automatically created for a user that opens the booking editor sidebar, or clicks on *Edit* in the advanced booking editor. The lock is automatically deleted if the user saves and closes, or cancels the save operation.
Booking locks automatically created by Sonderplan will last for 10 minutes, unless extended by the user when a lock expiration warning is shown. It is possible to manually lock and unlock bookings with these API endpoints and set the lock time to a custom time as required.
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
# Unlock Booking
Source: https://docs.sonderplan.com/api-reference/booking/unlock-booking
/api-reference/openapi-mintlify.yaml put /v2/booking/unlock
The Sonderplan user interface features a booking locking system that prevents accidental overwrites when multiple users are editing the same booking.
A booking lock is automatically created for a user that opens the booking editor sidebar, or clicks on *Edit* in the advanced booking editor. The lock is automatically deleted if the user saves and closes, or cancels the save operation.
Booking locks automatically created by Sonderplan will last for 10 minutes, unless extended by the user when a lock expiration warning is shown. It is possible to manually lock and unlock bookings with these API endpoints and set the lock time to a custom time as required.
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
# Update Booking
Source: https://docs.sonderplan.com/api-reference/booking/update-booking
/api-reference/openapi-mintlify.yaml put /v2/booking
`WRITE` access to the `SCHEDULE` module is required to access this endpoint
The `bookingEdited` webhook will be fired when this endpoint has run successfullyTo avoid generating lots of undesired notifications, take care when creating or updating bookings and consider using the `notify_user_resources` option which can be used to silence notifications for end users.
# Create Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/create-calendar-subscription
/api-reference/openapi-mintlify.yaml post /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/delete-calendar-subscription
/api-reference/openapi-mintlify.yaml delete /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Calendar Subscriptions
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/get-calendar-subscriptions
/api-reference/openapi-mintlify.yaml get /v2/calendar-subscription/import
Sonderplan supports calendar subscriptions for both importing and exporting events, using the standard iCalendar format. This format is widely supported by popular calendar services like Google Calendar, Outlook, and Apple iCloud.
### Import Calendar Sync Subscriptions
Import calendar sync allows you to bring external events into Sonderplan, such as syncing events from Google Calendar to Sonderplan bookings or sharing bookings between two separate Sonderplan instances.
To set up an import, you can generate an iCalendar feed URL from the external calendar (e.g., Google Calendar) and copy it into a new Import Calendar subscription in Sonderplan. During setup, you can define default properties for imported bookings, such as resources, status, and associated projects.
Sonderplan automatically checks these feeds at least once an hour and updates the schedule with any changes to the imported events.
### Export Calendar Subscriptions
Export calendar subscriptions allow you to share bookings from Sonderplan with external calendars, such as syncing the bookings of specific resources to a shared Google Calendar.
To enable export feeds, you must activate booking feeds for resources, schedules, or projects in the Sonderplan UI. The feed URL can then be retrieved from the corresponding endpoint using the `feed` property, which can be shared or integrated with external calendar systems.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Calendar Subscription
Source: https://docs.sonderplan.com/api-reference/calendar-subscription/update-calendar-subscription
/api-reference/openapi-mintlify.yaml put /v2/calendar-subscription/import
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Contact
Source: https://docs.sonderplan.com/api-reference/contact/create-contact
/api-reference/openapi-mintlify.yaml post /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpoint
The `contactCreated` webhook will be fired when this endpoint has run successfullyUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Delete Contact
Source: https://docs.sonderplan.com/api-reference/contact/delete-contact
/api-reference/openapi-mintlify.yaml delete /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpointUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Get Contacts
Source: https://docs.sonderplan.com/api-reference/contact/get-contacts
/api-reference/openapi-mintlify.yaml get /v2/contact
You can create contacts for anyone you need to keep in touch with, such as your clients, suppliers, staff, or even resources.
Contacts help you store and organize important details like phone numbers, email addresses, and other contact information, making it easy to manage communication across your projects.
`READ` access to the `CONTACT` module is required to access this endpointUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Update Contact
Source: https://docs.sonderplan.com/api-reference/contact/update-contact
/api-reference/openapi-mintlify.yaml put /v2/contact
`WRITE` access to the `CONTACT` module is required to access this endpoint
The `contactEdited` webhook will be fired when this endpoint has run successfullyUnlike virtually every other model, contact `id` **cannot be assumed to be unique. Use `uuid` instead.**
Contacts may be either people or organizations and these are stored in separate tables in the database, each with its own auto-incrementing identifier.
The contacts model creates a union between these two tables to allow simplified operations under a single namespace.
# Create Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/create-custom-field
/api-reference/openapi-mintlify.yaml post /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/delete-custom-field
/api-reference/openapi-mintlify.yaml delete /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Custom Fields
Source: https://docs.sonderplan.com/api-reference/custom-field/get-custom-fields
/api-reference/openapi-mintlify.yaml get /v2/custom-field
Custom fields are user-defined fields that let you capture additional information tailored to your organization’s specific needs. They can be added to bookings, projects, resources, contacts, quotes, and invoices, offering the flexibility to store and manage data not covered by the default fields.
Custom fields can be configured with three input types: single-line text, multi-line text, and dropdown select menus with predefined options.
For example, you could use custom fields to track additional producers, links to files in external systems, internal notes, or client preferences.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Custom Field
Source: https://docs.sonderplan.com/api-reference/custom-field/update-custom-field
/api-reference/openapi-mintlify.yaml put /v2/custom-field
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Group
Source: https://docs.sonderplan.com/api-reference/group/create-group
/api-reference/openapi-mintlify.yaml post /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Group
Source: https://docs.sonderplan.com/api-reference/group/delete-group
/api-reference/openapi-mintlify.yaml delete /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Groups
Source: https://docs.sonderplan.com/api-reference/group/get-groups
/api-reference/openapi-mintlify.yaml get /v2/group
In Sonderplan, a Group is a set of users who share the same permissions and access rights. Groups simplify user management by assigning roles and responsibilities collectively rather than individually.
For instance, you can create groups for administrators and staff members, each with tailored permissions, such as access to specific resources, schedules, or features. You can also restrict access to certain modules, like quotes and invoices, for specific groups.
Groups ensure consistent access control, streamline role-based management, and make it easy to update permissions for multiple users at once.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Group
Source: https://docs.sonderplan.com/api-reference/group/update-group
/api-reference/openapi-mintlify.yaml put /v2/group
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Instance
Source: https://docs.sonderplan.com/api-reference/instance/get-instance
/api-reference/openapi-mintlify.yaml get /v2/instance
Use this endpoint to retrieve meta and usage information about your Sonderplan instance
`READ` access to the `ADMIN` module is required to access this endpoint
# Create Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/create-invoice
/api-reference/openapi-mintlify.yaml post /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceCreated` webhook will be fired when this endpoint has run successfully
# Delete Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/delete-invoice
/api-reference/openapi-mintlify.yaml delete /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
# Duplicate Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/duplicate-invoice
/api-reference/openapi-mintlify.yaml post /v2/invoice/duplicate
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceCreated` webhook will be fired when this endpoint has run successfully
# Generate Invoice PDF
Source: https://docs.sonderplan.com/api-reference/invoice/generate-invoice-pdf
/api-reference/openapi-mintlify.yaml get /v2/invoice/pdf
Retrieves a PDF‐formatted version of an existing invoice.
Clients issue a GET request to `/v2/invoice/pdf?id={id}` where `{id}` is the numeric identifier of the invoice you wish to download. On success, the server responds with `HTTP 200` and streams back a binary PDF `(Content-Type: application/pdf)` along with a Content-Disposition header that suggests the filename.
Because this is a read-only operation, it is safe and idempotent, and responses can be cached by HTTP caches or CDNs. If no invoice exists with the given ID, the endpoint returns HTTP 404 with a JSON error payload; any unexpected failure returns HTTP 500 with an explanatory message.
`READ` access to the `SALES` module is required to access this endpoint
# Get Invoices
Source: https://docs.sonderplan.com/api-reference/invoice/get-invoices
/api-reference/openapi-mintlify.yaml get /v2/invoice
An invoice is a financial document issued to a client to request payment for services rendered or resources used.
Invoices typically include key details such as the client’s information, a list of bookings, services or items being billed, applicable rates, taxes, discounts, and the total amount due. They serve as an official record of the transaction and can be customized to include additional details like payment terms, due dates, or custom notes.
Invoices may also be generated from approved quotes, streamlining the billing process.
`READ` access to the `SALES` module is required to access this endpoint
# Update Invoice
Source: https://docs.sonderplan.com/api-reference/invoice/update-invoice
/api-reference/openapi-mintlify.yaml put /v2/invoice
`WRITE` access to the `SALES` module is required to access this endpoint
The `invoiceEdited` webhook will be fired when this endpoint has run successfully
# Get Quotes
Source: https://docs.sonderplan.com/api-reference/quote/get-quotes
/api-reference/openapi-mintlify.yaml get /v2/quote
In Sonderplan, a quote is a detailed proposal that outlines the estimated costs for a project or set of bookings.
Quotes typically include information such as the client, associated bookings, resources, rates, taxes, discounts, and any additional charges or custom details. They are used to provide clients with a clear breakdown of costs before confirming a project, helping ensure transparency and agreement on pricing.
Once approved, quotes can often be converted into invoices or used as a basis for further planning.
`READ` access to the `SALES` module is required to access this endpoint
# Create Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/create-rate-scheme
/api-reference/openapi-mintlify.yaml post /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/delete-rate-scheme
/api-reference/openapi-mintlify.yaml delete /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Resource
Source: https://docs.sonderplan.com/api-reference/resource/create-resource
/api-reference/openapi-mintlify.yaml post /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `resourceCreated` webhook will be fired when this endpoint has run successfullyIf you are using Sonderplan on a **Flexible Billing** plan, creating resources will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
# Delete Resource
Source: https://docs.sonderplan.com/api-reference/resource/delete-resource
/api-reference/openapi-mintlify.yaml delete /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpointIf you're using Sonderplan with a **Flexible Billing** plan, deleting resources will generate unused **time credits** for the resource. These credits will be automatically applied to your account and used toward future invoices.
# Get Resources
Source: https://docs.sonderplan.com/api-reference/resource/get-resources
/api-reference/openapi-mintlify.yaml get /v2/resource
In Sonderplan, resources refer to any item or entity that can be booked, such as rooms, people, equipment, or actions like recreation and sick leave.
For people resources, it’s recommended to link them to a corresponding contact record using the type_person_id attribute.
Resources can be organized into hierarchical groups using the parent_id attribute, which enables the visual nesting of similar resources for better organization.
Additionally, resources must be assigned to at least one schedule to appear in the resource selection menu in Sonderplan.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Resource
Source: https://docs.sonderplan.com/api-reference/resource/update-resource
/api-reference/openapi-mintlify.yaml put /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `resourceEdited` webhook will be fired when this endpoint has run successfully
# Create Status
Source: https://docs.sonderplan.com/api-reference/status/create-status
/api-reference/openapi-mintlify.yaml post /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Status
Source: https://docs.sonderplan.com/api-reference/status/delete-status
/api-reference/openapi-mintlify.yaml delete /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Status
Source: https://docs.sonderplan.com/api-reference/status/get-status
/api-reference/openapi-mintlify.yaml get /v2/status
Statuses can be thought of as labels that indicate the current state or progress of a booking, helping users track and manage bookings by categorizing them based on their workflow stage. Examples include "Confirmed," "Tentative," "Cancelled," or custom statuses designed to suit your organization’s needs.
Booking statuses are essential for organizing schedules, as they visually distinguish bookings and can trigger specific actions like sending notifications or updating workflows.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Status
Source: https://docs.sonderplan.com/api-reference/status/update-status
/api-reference/openapi-mintlify.yaml put /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Tax
Source: https://docs.sonderplan.com/api-reference/tax/create-tax
/api-reference/openapi-mintlify.yaml post /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Tax
Source: https://docs.sonderplan.com/api-reference/tax/delete-tax
/api-reference/openapi-mintlify.yaml delete /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Taxes
Source: https://docs.sonderplan.com/api-reference/tax/get-taxes
/api-reference/openapi-mintlify.yaml get /v2/tax
In Sonderplan, taxes represent the percentage-based fees applied to line items within quotes, or invoices to comply with financial regulations. Taxes can be configured to reflect applicable rates, such as VAT, GST, or sales tax, depending on your location or business requirements.
Sonderplan allows you to create and manage multiple tax rates, ensuring accurate calculations for different scenarios. Taxes are automatically applied to line items as specified, and they appear as a separate entry on invoices and quotes for transparency.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Tax
Source: https://docs.sonderplan.com/api-reference/tax/update-tax
/api-reference/openapi-mintlify.yaml put /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/create-time-activity
/api-reference/openapi-mintlify.yaml post /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/delete-time-activity
/api-reference/openapi-mintlify.yaml delete /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Time Activities
Source: https://docs.sonderplan.com/api-reference/time-activity/get-time-activities
/api-reference/openapi-mintlify.yaml get /v2/time-activity
Time activities are predefined task categories that users can reference when logging time entries in the time-tracking system. By standardizing task types, predefined activities enhance reporting accuracy, providing insights into the specific work required to complete a project.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/update-time-activity
/api-reference/openapi-mintlify.yaml put /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/create-time-entry
/api-reference/openapi-mintlify.yaml post /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Delete Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/delete-time-entry
/api-reference/openapi-mintlify.yaml delete /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Get Time Entries
Source: https://docs.sonderplan.com/api-reference/time-entry/get-time-entries
/api-reference/openapi-mintlify.yaml get /v2/time-entry
Time activities are predefined task categories that users can reference when logging time entries in the time-tracking system.
By standardising task types, predefined activities enhance reporting accuracy, providing insights into the specific work required to complete a project.
`READ` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Stop Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/stop-time-entry
/api-reference/openapi-mintlify.yaml patch /v2/time-entry/stop
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Update Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/update-time-entry
/api-reference/openapi-mintlify.yaml put /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Create Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/create-workspace
/api-reference/openapi-mintlify.yaml post /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `scheduleCreated` webhook will be fired when this endpoint has run successfully
# Delete Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/delete-workspace
/api-reference/openapi-mintlify.yaml delete /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Workspaces
Source: https://docs.sonderplan.com/api-reference/workspace/get-workspaces
/api-reference/openapi-mintlify.yaml get /v2/workspace
A workspace (formerly known as a Schedule) is a collection of resources displayed in a timeline or calendar view on the Schedule, designed to help you manage and visualize resource usage.
Workspaces make it easy to group and organize resources, such as rooms, equipment, or personnel, based on specific criteria like departments, resource types, or office locations.
Additionally, workspaces include access control features, allowing you to restrict viewing and booking permissions to specific users or groups for enhanced security and organization.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/update-workspace
/api-reference/openapi-mintlify.yaml put /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `scheduleEdited` webhook will be fired when this endpoint has run successfully
# Create Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/create-invoice-template
/api-reference/openapi-mintlify.yaml post /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/delete-invoice-template
/api-reference/openapi-mintlify.yaml delete /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Invoice Templates
Source: https://docs.sonderplan.com/api-reference/invoice-template/get-invoice-templates
/api-reference/openapi-mintlify.yaml get /v2/invoice-template
An invoice (or quote) template is a customizable layout used to generate invoices and quotes with a consistent format and design.
It defines how details such as client information, items, taxes, and totals are displayed. Invoice templates can include your branding elements, like logos and company information, as well as custom fields or notes specific to your business needs.
Both **Quote** and **Invoice** templates can be created, edited and deleted using this endpoint so be sure to use the correct `type_id`.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Invoice Template
Source: https://docs.sonderplan.com/api-reference/invoice-template/update-invoice-template
/api-reference/openapi-mintlify.yaml put /v2/invoice-template
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Project
Source: https://docs.sonderplan.com/api-reference/project/create-project
/api-reference/openapi-mintlify.yaml post /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
The `projectCreated` webhook will be fired when this endpoint has run successfully
# Create Project Folder
Source: https://docs.sonderplan.com/api-reference/project/create-project-folder
/api-reference/openapi-mintlify.yaml post /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Create Project Phase
Source: https://docs.sonderplan.com/api-reference/project/create-project-phase
/api-reference/openapi-mintlify.yaml post /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project
Source: https://docs.sonderplan.com/api-reference/project/delete-project
/api-reference/openapi-mintlify.yaml delete /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project Folder
Source: https://docs.sonderplan.com/api-reference/project/delete-project-folder
/api-reference/openapi-mintlify.yaml delete /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Delete Project Phase
Source: https://docs.sonderplan.com/api-reference/project/delete-project-phase
/api-reference/openapi-mintlify.yaml delete /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Get Project Folders
Source: https://docs.sonderplan.com/api-reference/project/get-project-folders
/api-reference/openapi-mintlify.yaml get /v2/project/folder
Project folders enable projects to be grouped and organized into one or more hierarchical levels.
For example, if you're working on an episodic production, you can create a project folder for the season or series and organize all related projects within that folder.
`READ` access to the `PROJECT` module is required to access this endpoint
# Get Project Phases
Source: https://docs.sonderplan.com/api-reference/project/get-project-phases
/api-reference/openapi-mintlify.yaml get /v2/project/phase
Projects are often divided into distinct phases, each associated with one or more deadlines. Project phases provide a way to visually organize and track your project's progress using phase markers and deadlines displayed on the Sonderplan Project Timeline.
For example, in a typical post-production workflow, you might have phases for ingesting media, assembly editing, offline/online editing, grading, and final export.
`READ` access to the `PROJECT` module is required to access this endpoint
# Get Projects
Source: https://docs.sonderplan.com/api-reference/project/get-projects
/api-reference/openapi-mintlify.yaml get /v2/project
In Sonderplan a project represents a container for grouping related bookings, files, quotes and invoices. Projects allow users to organize their work by associating bookings with a specific purpose, client, or final deliverable (such as a movie or commercial).
Projects include metadata such as the project name, client information, deadlines, files, and any custom attributes defined (via custom fields) by the user. This helps streamline project management and reporting by keeping all relevant details in one place.
`READ` access to the `PROJECT` module is required to access this endpoint
# Update Project
Source: https://docs.sonderplan.com/api-reference/project/update-project
/api-reference/openapi-mintlify.yaml put /v2/project
`WRITE` access to the `PROJECT` module is required to access this endpoint
The `projectEdited` webhook will be fired when this endpoint has run successfully
# Update Project Folder
Source: https://docs.sonderplan.com/api-reference/project/update-project-folder
/api-reference/openapi-mintlify.yaml put /v2/project/folder
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Update Project Phase
Source: https://docs.sonderplan.com/api-reference/project/update-project-phase
/api-reference/openapi-mintlify.yaml put /v2/project/phase
`WRITE` access to the `PROJECT` module is required to access this endpoint
# Create Quote
Source: https://docs.sonderplan.com/api-reference/quote/create-quote
/api-reference/openapi-mintlify.yaml post /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteCreated` webhook will be fired when this endpoint has run successfully
# Delete Quote
Source: https://docs.sonderplan.com/api-reference/quote/delete-quote
/api-reference/openapi-mintlify.yaml delete /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
# Duplicate Quote
Source: https://docs.sonderplan.com/api-reference/quote/duplicate-quote
/api-reference/openapi-mintlify.yaml post /v2/quote/duplicate
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteCreated` webhook will be fired when this endpoint has run successfully
# Generate Quote PDF
Source: https://docs.sonderplan.com/api-reference/quote/generate-quote-pdf
/api-reference/openapi-mintlify.yaml get /v2/quote/pdf
Retrieves a PDF‐formatted version of an existing quote.
Clients issue a GET request to `/v2/quote/pdf?id={id}` where `{id}` is the numeric identifier of the quote you wish to download. On success, the server responds with `HTTP 200` and streams back a binary PDF `(Content-Type: application/pdf)` along with a Content-Disposition header that suggests the filename.
Because this is a read-only operation, it is safe and idempotent, and responses can be cached by HTTP caches or CDNs. If no quote exists with the given ID, the endpoint returns HTTP 404 with a JSON error payload; any unexpected failure returns HTTP 500 with an explanatory message.
`READ` access to the `SALES` module is required to access this endpoint
# Update Quote
Source: https://docs.sonderplan.com/api-reference/quote/update-quote
/api-reference/openapi-mintlify.yaml put /v2/quote
`WRITE` access to the `SALES` module is required to access this endpoint
The `quoteEdited` webhook will be fired when this endpoint has run successfully
# Create Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/create-rate-scheme
/api-reference/openapi-mintlify.yaml post /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/delete-rate-scheme
/api-reference/openapi-mintlify.yaml delete /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Rate Schemes
Source: https://docs.sonderplan.com/api-reference/rate-scheme/get-rate-schemes
/api-reference/openapi-mintlify.yaml get /v2/rate-scheme
Rate schemes function like rate cards, allowing you to define costs and discounts for each resource. They can be tailored based on criteria such as date, time, client, or a combination of these.
Each rate scheme lets you specify hourly, daily, and weekly buy and sell rates, providing flexibility to match your pricing structure.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Rate Scheme
Source: https://docs.sonderplan.com/api-reference/rate-scheme/update-rate-scheme
/api-reference/openapi-mintlify.yaml put /v2/rate-scheme
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Resource
Source: https://docs.sonderplan.com/api-reference/resource/create-resource
/api-reference/openapi-mintlify.yaml post /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `resourceCreated` webhook will be fired when this endpoint has run successfullyIf you are using Sonderplan on a **Flexible Billing** plan, creating resources will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
# Delete Resource
Source: https://docs.sonderplan.com/api-reference/resource/delete-resource
/api-reference/openapi-mintlify.yaml delete /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpointIf you're using Sonderplan with a **Flexible Billing** plan, deleting resources will generate unused **time credits** for the resource. These credits will be automatically applied to your account and used toward future invoices.
# Get Resources
Source: https://docs.sonderplan.com/api-reference/resource/get-resources
/api-reference/openapi-mintlify.yaml get /v2/resource
In Sonderplan, resources refer to any item or entity that can be booked, such as rooms, people, equipment, or actions like recreation and sick leave.
For people resources, it’s recommended to link them to a corresponding contact record using the type_person_id attribute.
Resources can be organized into hierarchical groups using the parent_id attribute, which enables the visual nesting of similar resources for better organization.
Additionally, resources must be assigned to at least one schedule to appear in the resource selection menu in Sonderplan.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Resource
Source: https://docs.sonderplan.com/api-reference/resource/update-resource
/api-reference/openapi-mintlify.yaml put /v2/resource
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `resourceEdited` webhook will be fired when this endpoint has run successfully
# Create Status
Source: https://docs.sonderplan.com/api-reference/status/create-status
/api-reference/openapi-mintlify.yaml post /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Status
Source: https://docs.sonderplan.com/api-reference/status/delete-status
/api-reference/openapi-mintlify.yaml delete /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Status
Source: https://docs.sonderplan.com/api-reference/status/get-status
/api-reference/openapi-mintlify.yaml get /v2/status
Statuses can be thought of as labels that indicate the current state or progress of a booking, helping users track and manage bookings by categorizing them based on their workflow stage. Examples include "Confirmed," "Tentative," "Cancelled," or custom statuses designed to suit your organization’s needs.
Booking statuses are essential for organizing schedules, as they visually distinguish bookings and can trigger specific actions like sending notifications or updating workflows.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Status
Source: https://docs.sonderplan.com/api-reference/status/update-status
/api-reference/openapi-mintlify.yaml put /v2/status
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Tax
Source: https://docs.sonderplan.com/api-reference/tax/create-tax
/api-reference/openapi-mintlify.yaml post /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Tax
Source: https://docs.sonderplan.com/api-reference/tax/delete-tax
/api-reference/openapi-mintlify.yaml delete /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Taxes
Source: https://docs.sonderplan.com/api-reference/tax/get-taxes
/api-reference/openapi-mintlify.yaml get /v2/tax
In Sonderplan, taxes represent the percentage-based fees applied to line items within quotes, or invoices to comply with financial regulations. Taxes can be configured to reflect applicable rates, such as VAT, GST, or sales tax, depending on your location or business requirements.
Sonderplan allows you to create and manage multiple tax rates, ensuring accurate calculations for different scenarios. Taxes are automatically applied to line items as specified, and they appear as a separate entry on invoices and quotes for transparency.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Tax
Source: https://docs.sonderplan.com/api-reference/tax/update-tax
/api-reference/openapi-mintlify.yaml put /v2/tax
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/create-time-activity
/api-reference/openapi-mintlify.yaml post /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Delete Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/delete-time-activity
/api-reference/openapi-mintlify.yaml delete /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Time Activities
Source: https://docs.sonderplan.com/api-reference/time-activity/get-time-activities
/api-reference/openapi-mintlify.yaml get /v2/time-activity
Time activities are predefined task categories that users can reference when logging time entries in the time-tracking system. By standardizing task types, predefined activities enhance reporting accuracy, providing insights into the specific work required to complete a project.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Time Activity
Source: https://docs.sonderplan.com/api-reference/time-activity/update-time-activity
/api-reference/openapi-mintlify.yaml put /v2/time-activity
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/create-time-entry
/api-reference/openapi-mintlify.yaml post /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Delete Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/delete-time-entry
/api-reference/openapi-mintlify.yaml delete /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Get Time Entries
Source: https://docs.sonderplan.com/api-reference/time-entry/get-time-entries
/api-reference/openapi-mintlify.yaml get /v2/time-entry
Time activities are predefined task categories that users can reference when logging time entries in the time-tracking system.
By standardising task types, predefined activities enhance reporting accuracy, providing insights into the specific work required to complete a project.
`READ` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Stop Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/stop-time-entry
/api-reference/openapi-mintlify.yaml patch /v2/time-entry/stop
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Update Time Entry
Source: https://docs.sonderplan.com/api-reference/time-entry/update-time-entry
/api-reference/openapi-mintlify.yaml put /v2/time-entry
`WRITE` access to the `ADMIN` module is required to access this endpointCurrently, only users with Administrative level have access to view, create and modify time entries for other users time entries.
All users are able to create, edit and delete their own time entries, however this uses a separate API not currently available for public access.
Please contact our Support team if you are interested in accessing this private API.
# Create User
Source: https://docs.sonderplan.com/api-reference/user/create-user
/api-reference/openapi-mintlify.yaml post /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpointIf you are using Sonderplan on a **Flexible Billing** plan, creating users will result in **additional charges** (calculated pro rata) being automatically charged to your credit card.
# Delete User
Source: https://docs.sonderplan.com/api-reference/user/delete-user
/api-reference/openapi-mintlify.yaml delete /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpointIf you're using Sonderplan with a **Flexible Billing** plan, deleting users will generate unused time credits for the user. These credits will be automatically applied to your account and used toward future invoices.
# Get Users
Source: https://docs.sonderplan.com/api-reference/user/get-users
/api-reference/openapi-mintlify.yaml get /v2/user
A user in Sonderplan is an individual with access to the platform, typically associated with an account used to manage bookings, resources, projects, create quotes and invoices, and perform administrative tasks.
Each user’s permissions are determined by their group membership, which assigns roles such as administrator, staff member, or limited-access user. These roles define what actions the user can perform and the data they can view or edit within the system.
Every user is aliased to a contact record and can have personalized settings, including notification preferences and default configurations.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update User
Source: https://docs.sonderplan.com/api-reference/user/update-user
/api-reference/openapi-mintlify.yaml put /v2/user
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Create Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/create-workspace
/api-reference/openapi-mintlify.yaml post /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `scheduleCreated` webhook will be fired when this endpoint has run successfully
# Delete Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/delete-workspace
/api-reference/openapi-mintlify.yaml delete /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
# Get Workspaces
Source: https://docs.sonderplan.com/api-reference/workspace/get-workspaces
/api-reference/openapi-mintlify.yaml get /v2/workspace
A workspace (formerly known as a Schedule) is a collection of resources displayed in a timeline or calendar view on the Schedule, designed to help you manage and visualize resource usage.
Workspaces make it easy to group and organize resources, such as rooms, equipment, or personnel, based on specific criteria like departments, resource types, or office locations.
Additionally, workspaces include access control features, allowing you to restrict viewing and booking permissions to specific users or groups for enhanced security and organization.
`READ` access to the `ADMIN` module is required to access this endpoint
# Update Workspace
Source: https://docs.sonderplan.com/api-reference/workspace/update-workspace
/api-reference/openapi-mintlify.yaml put /v2/workspace
`WRITE` access to the `ADMIN` module is required to access this endpoint
The `scheduleEdited` webhook will be fired when this endpoint has run successfully