A ResourceAccessRule defines additional booking policies and restrictions for a Resource, scoped by date/time, customer, team, plan, or other criteria. Rules are evaluated in EvaluationOrder and can optionally stop further evaluation when matched (StopEvaluationIfRuleIsMet).
The booking-policy fields (BookInAdvanceLimit, LateBookingLimit, LateCancellationLimit, IntervalLimit, MaxBookingLength, MinBookingLength, NoReturnPolicy*, cancellation-fee fields, and repeat-booking limits) mirror those on Resource and carry the same semantics — they override the resource-level defaults when the rule matches.
Scope: who the rule applies to
OnlyForMembers / OnlyForContacts — quick toggles to limit the rule to members or contacts.
Tariffs — pricing plans this rule applies to. When set, the rule only fires for customers on one of these plans.
Teams — teams this rule applies to. When set, the rule only fires for members of one of these teams.
Courses — the rule applies only to customers who have completed one of these courses.
EventCategories — the rule applies only to customers who have attended (checked in to) an event in one of these categories.
Scope: who is allowed to book when the rule fires
AllowedTariffs — only customers on one of these plans are allowed to book when the rule applies to them.
AllowedTeams — only members of one of these teams are allowed to book when the rule applies to them.
List mutation helpers
For each list field (Tariffs, AllowedTariffs, Teams, AllowedTeams, Members, EventCategories, Courses) there are Added* and Removed* variants that append or remove entries on update without replacing the full list.
Authentication
This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header.
The authenticated user must be a full unrestricted administrator or have the ResourceAccessRule-Create role.
Request Body
Required Fields
Order in which this rule is evaluated relative to other rules on the same resource. Lower values are evaluated first..
Optional Fields
Whether this rule is currently active and evaluated during booking..
When true, this rule applies only to contacts (non-member customers)..
Date from which this rule starts being evaluated. Null means no start-date restriction..
Date after which this rule stops being evaluated. Null means no end-date restriction..
Maximum number of days in advance a booking can be made. Null means no limit..
Minimum lead time (in minutes) required before a booking can start. Prevents last-minute bookings..
Cut-off in minutes before the booking start time. Cancellations after this point are considered late and may incur a fee..
Minimum interval (in minutes) between consecutive bookings on this resource, used as a buffer for setup or cleaning..
Maximum allowed duration for a single booking, in minutes..
Minimum allowed duration for a single booking, in minutes..
Cooldown in minutes: prevents the same user from booking this specific resource again within this window after their last booking ends..
NoReturnPolicyAllResources
Cooldown in minutes: prevents the same user from booking any resource after booking this one, for the specified window..
Cooldown in minutes: prevents any user from booking this resource within the specified window after the previous booking ends..
Message shown to the user when their booking is rejected by this rule..
When true, this rule applies only to active members (coworkers with a plan)..
StopEvaluationIfRuleIsMet
When true, no further rules are evaluated after this one matches..
Cancellation Fee Product Id.
When true, a fee is charged for late cancellations (past the LateCancellationLimit)..
How the cancellation fee is calculated: Absolute (fixed amount) or Percentage (of booking cost).. Defaults to eCancellationFeeType.Absolute. See eCancellationFeeType enum above.
Fixed cancellation fee amount. Used when CancellationFeeType is Absolute..
CancellationFeePercentage
Cancellation fee as a percentage of the booking cost. Used when CancellationFeeType is Percentage..
RepeatBookingQuantityLimit
Maximum number of occurrences allowed when creating a recurring booking under this rule..
RepeatBookingPeriodLimitInMonths
Maximum time span (in months) over which a recurring booking series can extend under this rule..
Children
Time slots defining when this rule applies (eligibility windows). The year, month and day component of FromTime/ToTime is always 1976-01-01.
The days and times the resources can be booked when this rule applies. The year, month and day component of FromTime/ToTime is always 1976-01-01.
Code Examples
curl -X POST \
"https://spaces.nexudus.com/api/spaces/resourceaccessrules" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"ResourceId": 0,
"Name": "",
"EvaluationOrder": 0,
"EligibleTimeSlots": [
{
"DayOfWeek": 0,
"FromTime": "2025-01-15T10:30:00Z",
"ToTime": "2025-01-15T10:30:00Z"
}
],
"TimeSlots": [
{
"DayOfWeek": 0,
"FromTime": "2025-01-15T10:30:00Z",
"ToTime": "2025-01-15T10:30:00Z"
}
]
}'
Response
200
HTTP status code. 200 on success.
A human-readable message confirming the creation.
Contains the Id of the newly created record.
true if the resourceaccessrule was created successfully.
{
"Status" : 200 ,
"Message" : "ResourceAccessRule was successfully created." ,
"Value" : {
"Id" : 87654321
},
"OpenInDialog" : false ,
"OpenInWindow" : false ,
"RedirectURL" : null ,
"JavaScript" : null ,
"UpdatedOn" : "2025-01-15T10:30:00Z" ,
"UpdatedBy" : "admin@example.com" ,
"Errors" : null ,
"WasSuccessful" : true
}
400
A summary of the validation error(s), in the format PropertyName: error message.
null on validation failure.
Array of validation errors. The value that was submitted for the field, or null if missing.
The validation error message.
The name of the property that failed validation.
false when the request fails validation.
{
"Message" : "Name: is a required field" ,
"Value" : null ,
"Errors" : [
{
"AttemptedValue" : null ,
"Message" : "is a required field" ,
"PropertyName" : "Name"
}
],
"WasSuccessful" : false
}