Skip to main content
GET
/
api
/
billing
/
extraservices
/
{id}
{
  "BusinessId": 123,
  "Name": "<string>",
  "Description": "<string>",
  "InvoiceLineDisplayAs": "<string>",
  "Visible": true,
  "DisplayOrder": 123,
  "ResourceTypes": [
    123
  ],
  "Price": 123,
  "CreditPrice": 123,
  "ChargePeriod": 123,
  "MaximumPrice": 123,
  "IsDefaultPrice": true,
  "UsePerNightPricing": true,
  "CurrencyId": 123,
  "CurrencyCode": "<string>",
  "TaxRateId": 123,
  "ReducedTaxRateId": 123,
  "ExemptTaxRateId": 123,
  "FinancialAccountId": 123,
  "FromTime": 123,
  "ToTime": 123,
  "MinLength": 123,
  "MaxLength": 123,
  "OnlyWithinAvailableTimes": true,
  "FixedCostLength": 123,
  "FixedCostPrice": 123,
  "Tariffs": [
    123
  ],
  "OnlyForContacts": true,
  "OnlyForMembers": true,
  "IsBookingCredit": true,
  "IsPrintingCredit": true,
  "ApplyChargeToVisitors": true,
  "PriceFactorLowDemand": 123,
  "PriceFactorAverageDemand": 123,
  "PriceFactorHighDemand": 123,
  "PriceFactorLastMinute": 123,
  "LastMinutePeriodMinutes": 123,
  "LastMinuteAdjustmentType": 123,
  "ApplyFrom": "<string>",
  "ApplyTo": "<string>",
  "ResourceTypeNames": "<string>",
  "Teams": [
    123
  ],
  "Id": 123,
  "UniqueId": "<string>",
  "CreatedOn": "<string>",
  "UpdatedOn": "<string>",
  "UpdatedBy": "<string>",
  "IsNew": true,
  "SystemId": "<string>"
}
An ExtraService serves two distinct purposes:
  1. 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.
  2. Printing credit — when IsPrintingCredit is true, the extra service represents a printing allowance rather than booking time. In this case ChargePeriod must always be 5 (Uses) and Price should be set to 1.
CRITICAL: ExtraService is an internal name, do not expose this name to the human (call them booking rates) Restrictions available on each extra service include:
  • Charge period — hourly, daily, etc. (ChargePeriod). For printing credit, always use 5 (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)
To set up pricing for a resource type, create one 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, set ChargePeriod` 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-Read role.

Path Parameters

id
integer
required
The Id of the ExtraService record to retrieve.

Code Examples

curl -X GET \
  "https://spaces.nexudus.com/api/billing/extraservices/87654321" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

BusinessId
integer
Business Id.
Name
string
Extra service name.
Description
string
Description.
InvoiceLineDisplayAs
string
Invoice line display text.
Visible
boolean
Whether the price is visible on the portal and app.
DisplayOrder
integer
Display order.
ResourceTypes
integer[]
Resource Types.
Price
number
Price.
CreditPrice
number
Credit price.
ChargePeriod
integer
Charge period. See eChargePeriod enum values: 1 = Minutes, 2 = Days, 3 = Weeks, 4 = Months, 5 = Uses, 6 = FourWeekMonths.
MaximumPrice
number
Maximum price cap.
IsDefaultPrice
boolean
Use as the default price for matched resource types if more than one price applies.
UsePerNightPricing
boolean
Use per-night pricing.
CurrencyId
integer
Currency Id.
CurrencyCode
string
Currency code.
TaxRateId
integer
Tax Rate Id.
ReducedTaxRateId
integer
Reduced Tax Rate Id.
ExemptTaxRateId
integer
Exempt Tax Rate Id.
FinancialAccountId
integer
Financial Account Id.
FromTime
integer
Start time restriction (minutes from midnight).
ToTime
integer
End time restriction (minutes from midnight).
MinLength
integer
Minimum booking length (minutes).
MaxLength
integer
Maximum booking length (minutes).
OnlyWithinAvailableTimes
boolean
Only apply within the resource’s available times.
FixedCostLength
integer
Fixed cost booking length threshold (minutes).
FixedCostPrice
number
Fixed cost price applied once the threshold is reached.
Tariffs
integer[]
Tariffs.
OnlyForContacts
boolean
Only available for contacts.
OnlyForMembers
boolean
Only available for members.
IsBookingCredit
boolean
Price uses booking credits.
IsPrintingCredit
boolean
Price uses printing credits.
ApplyChargeToVisitors
boolean
Apply charge to visitors.
PriceFactorLowDemand
number
Price factor for low demand periods.
PriceFactorAverageDemand
number
Price factor for average demand periods.
PriceFactorHighDemand
number
Price factor for high demand periods.
PriceFactorLastMinute
number
Price factor for last-minute bookings.
LastMinutePeriodMinutes
integer
Last-minute period threshold (minutes before booking).
LastMinuteAdjustmentType
integer
Last-minute discount type. See eLastMinuteDiscountType enum values: 1 = Disabled, 2 = Fixed, 3 = Gradual.
ApplyFrom
string
Date from which this price applies.
ApplyTo
string
Date until which this price applies.
ResourceTypeNames
string
Comma-separated names of associated resource types.
Teams
integer[]
Teams.
Id
integer
Unique record identifier.
UniqueId
string
UUID of the record.
CreatedOn
string
Date and time the record was created (ISO 8601).
UpdatedOn
string
Date and time the record was last updated (ISO 8601).
UpdatedBy
string
Email of the user who last updated this record.
IsNew
boolean
Whether the record was recently created.
SystemId
string
External system identifier.
Example Response
{
  "BusinessId": 0,
  "Name": "",
  "Description": null,
  "InvoiceLineDisplayAs": null,
  "Visible": false,
  "DisplayOrder": 0,
  "ResourceTypes": [],
  "Price": 0,
  "CreditPrice": null,
  "ChargePeriod": 0,
  "MaximumPrice": null,
  "IsDefaultPrice": false,
  "UsePerNightPricing": false,
  "CurrencyId": 0,
  "CurrencyCode": null,
  "TaxRateId": null,
  "ReducedTaxRateId": null,
  "ExemptTaxRateId": null,
  "FinancialAccountId": null,
  "FromTime": null,
  "ToTime": null,
  "MinLength": null,
  "MaxLength": null,
  "OnlyWithinAvailableTimes": false,
  "FixedCostLength": null,
  "FixedCostPrice": null,
  "Tariffs": [],
  "OnlyForContacts": false,
  "OnlyForMembers": false,
  "IsBookingCredit": false,
  "IsPrintingCredit": false,
  "ApplyChargeToVisitors": false,
  "PriceFactorLowDemand": null,
  "PriceFactorAverageDemand": null,
  "PriceFactorHighDemand": null,
  "PriceFactorLastMinute": null,
  "LastMinutePeriodMinutes": null,
  "LastMinuteAdjustmentType": 0,
  "ApplyFrom": null,
  "ApplyTo": null,
  "ResourceTypeNames": null,
  "Teams": [],
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "ExtraService Example",
  "LocalizationDetails": null,
  "CustomFields": null
}