door-schedule-exception-tool
Create, update, delete, and find one-time door schedule exceptions that override normal lock/unlock schedules for specific dates and times.
Instructions
This tool manages Rhombus door schedule exceptions. A door lock/unlock exception is a one-time rule used to change an access controlled door's locked/unlocked state. If a lock/unlock exception is enabled, it will overwrite the existing lock/unlock schedule. A schedule exception allows you to create a custom schedule that is only active for the specified dates/times. Once the date/time a schedule exception is set for passes, the original schedule will resume.
Door schedule exceptions can be either expired or not expired. If its scheduled date is in the past, then it is expired. Users through the web console can toggle whether to see expired door schedule exceptions or not. Please mirror this behavior when responding to the user.
It has the following modes of operation, determined by the "requestType" parameter:
create-exception: Create a door schedule exception. Requires exception (DoorScheduleExceptionType object). If locationUuid is missing but doorUuids are provided, the tool will resolve the location automatically.
delete-exception: Delete a door schedule exception. Requires exceptionUuid.
find-exceptions: Find door schedule exceptions across the organization, optionally filtered by date range.
find-exceptions-for-location: Find door schedule exceptions for a location. Requires locationUuid. Supports optional date range filters.
find-exceptions-for-door: Find door schedule exceptions for a door. Requires doorUuid. Supports optional date range filters.
get-exception: Get a single door schedule exception by UUID. Requires exceptionUuid.
update-exception: Update a door schedule exception. Requires exception (DoorScheduleExceptionType object). If intervals are omitted but defaultState and date range are provided, the tool will generate a full-day interval.
Use get-entity-tool to look up location and door UUIDs when needed.
Output filtering (all tools):
includeFields(string[]): Dot-notation paths to keep in the response (e.g."vehicleEvents.vehicleLicensePlate"). Omit to return all fields.filterBy(array): Predicates to filter array items. Each entry:{field, op, value}where op is one of= != > >= < <= contains. All conditions are ANDed. Example:[{field:"vehicleLicensePlate", op:"=", value:"ABC123"}]WARNING: some tool responses exceed 400k characters — use these params to request only the data you need.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| requestType | Yes | The type of door schedule exception request to make. | |
| exceptionUuid | Yes | Door schedule exception UUID. Required for 'get-exception' and 'delete-exception'. | |
| locationUuid | Yes | Location UUID. Required for 'find-exceptions-for-location'. | |
| doorUuid | Yes | Door UUID. Required for 'find-exceptions-for-door'. | |
| exception | Yes | DoorScheduleExceptionType object. Required for 'create-exception' and 'update-exception'. | |
| localStartDateRangeStart | No | Optional date range filter (inclusive) for local start date beginning (yyyy-MM-dd). | |
| localStartDateRangeEnd | No | Optional date range filter (inclusive) for local start date end (yyyy-MM-dd). | |
| localEndDateRangeStart | No | Optional date range filter (inclusive) for local end date beginning (yyyy-MM-dd). | |
| localEndDateRangeEnd | No | Optional date range filter (inclusive) for local end date end (yyyy-MM-dd). | |
| includeFields | Yes | Dot-notation field paths to include in the response (e.g. "vehicleEvents.vehicleLicensePlate"). Pass null to return all fields. WARNING: some responses can exceed 400k characters — use includeFields to request only the data you need. For high-volume tools this may be required to get a complete answer. | |
| filterBy | Yes | Filter array items in the response by field values. All conditions are ANDed. Example: [{field: "vehicleLicensePlate", op: "=", value: "ABC123"}, {field: "confidence", op: ">", value: 0.8}] Use alongside includeFields to get only the specific records and fields you need. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| exception | No | Single door schedule exception result. | |
| exceptions | No | List of door schedule exceptions. | |
| deleted | No | Delete result. | |
| expiredACDLicensesDoorUuids | No | Door UUIDs with expired access control licenses. | |
| unassignedACDLicensesDoorUuids | No | Door UUIDs with unassigned access control licenses. | |
| warningMsg | No | Warning returned by backend, if any. | |
| error | No | An error message if the request failed. |