ExtraServices
Create ExtraService
Create a new ExtraService record.
POST
Create ExtraService
An ExtraService serves two distinct purposes:
- Resource-type pricing rule — defines how one or more resource types are billed. A single resource type can have multiple extra services — for example, one per charge period (hourly, half-day, full-day) or one per customer segment.
- Printing credit — when
IsPrintingCreditistrue, the extra service represents a printing allowance rather than booking time. In this caseChargePeriodmust always be5(Uses) andPriceshould be set to1.
- Charge period — hourly, daily, etc. (
ChargePeriod). For printing credit, always use5(Uses). - Customer type — members only (
OnlyForMembers) or contacts only (OnlyForContacts) - Time window — bookings must fall within specific hours (
FromTime,ToTime) - Booking length — minimum/maximum duration (
MinLength,MaxLength) - Fixed-cost slot — charge a flat fee for bookings up to a fixed length (
FixedCostLength,FixedCostPrice) - Dynamic pricing — price factors for low/average/high demand and last-minute bookings
- Date range — apply only between specific dates (
ApplyFrom,ApplyTo)
ExtraService per pricing rule and associate it with the desired resource type(s) using or the resource types assignment. The ResourceTypeNames field on an extra service shows which resource types it currently applies to.
To create a printing credit extra service, set IsPrintingCredit` true`, ChargePeriod 5, and “Price 1. Resource type assignment is not required for printing credit extra services.
Setting up hourly pricing
For hourly pricing, setChargePeriod` 1` (Minutes) and Price“ to the cost of 60 minutes. The system interprets a charge period of 1 minute as hourly billing when the price represents a full hour.
Example — create a $50/hour meeting room pricing rule:
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 ExtraService-Create role.Enums
eChargePeriod — ChargePeriod values
eChargePeriod — ChargePeriod values
eLastMinuteDiscountType — LastMinuteAdjustmentType values
eLastMinuteDiscountType — LastMinuteAdjustmentType values
Request Body
Required Fields
integer
required
ID of the business linked to this record.
string
required
Extra service name.
integer
required
Display order. Defaults to
0.number
required
Unit price amount.
integer
required
Charge period. Defaults to
eChargePeriod.Minutes.integer
required
ID of the currency linked to this record.
integer
required
Last-minute discount type. Defaults to
eLastMinuteDiscountType.Gradual.Optional Fields
string
Free-text description of this extra service.
string
Invoice line display text.
boolean
Whether the price is visible on the portal and app. Defaults to
true.integer[]
List of resource types linked to this record.
number
Credit price.
number
Maximum price cap.
boolean
Use as the default price for matched resource types if more than one price applies.
boolean
Use per-night pricing.
integer
ID of the tax rate linked to this record.
integer
ID of the reduced tax rate linked to this record.
integer
ID of the exempt tax rate linked to this record.
integer
ID of the financial account linked to this record.
integer
Start time restriction (minutes from midnight).
integer
End time restriction (minutes from midnight).
integer
Minimum booking length (minutes).
integer
Maximum booking length (minutes).
boolean
Only apply within the resource’s available times.
integer
Fixed cost booking length threshold (minutes).
number
Fixed cost price applied once the threshold is reached.
integer[]
List of tariffs linked to this record.
boolean
Only available for contacts.
boolean
Only available for members.
boolean
Price uses booking credits.
boolean
Price uses printing credits.
boolean
Apply charge to visitors.
number
Price factor for low demand periods.
number
Price factor for average demand periods.
number
Price factor for high demand periods.
number
Price factor for last-minute bookings.
integer
Last-minute period threshold (minutes before booking).
string
Date from which this price applies.
string
Date until which this price applies.
string
Comma-separated names of associated resource types.
integer[]
List of teams linked to this record.
Children
object[]
The days and times this extra service price is available for booking. The year, month and day component of FromTime/ToTime is always 1976-01-01.
Code Examples
Response
200
integer
HTTP status code.
200 on success.string
A human-readable message confirming the creation.
object
Contains the
Id of the newly created record.boolean
true if the extraservice was created successfully.array
null on success.Example Response
400
string
A summary of the validation error(s), in the format
PropertyName: error message.any
null on validation failure.object[]
Array of validation errors.
boolean
false when the request fails validation.Example Response
Create ExtraService