Skip to main content
GET
/
api
/
billing
/
productextraservices
/
{id}
{
  "ProductId": 123,
  "ProductName": "<string>",
  "ExtraServiceId": 123,
  "ExtraServiceName": "<string>",
  "ExtraServiceChargePeriod": "<string>",
  "ExtraServiceIsBookingCredit": true,
  "ExtraServiceIsPrintingCredit": true,
  "UsesIncluded": 123,
  "ExpireTimeInMonths": 123,
  "ExpireTimeInWeeks": 123,
  "ExpirationType": 123,
  "ExpiresIn": 123,
  "Id": 123,
  "UniqueId": "<string>",
  "CreatedOn": "<string>",
  "UpdatedOn": "<string>",
  "UpdatedBy": "<string>",
  "IsNew": true,
  "SystemId": "<string>"
}
A ProductExtraService links an ExtraService to a Product. The meaning of UsesIncluded depends on the type of the linked extra service:
  • Booking time (ExtraService with IsPrintingCredit = false) — customers receive an allowance of booking time for the resource type(s) associated with that extra service. For example, a product called “Hot Desk Bundle” might include 2 hours of meeting room usage — achieved by linking a “Meeting Room Hourly” extra service with “UsesIncluded 120.
  • Printing credit (ExtraService with IsPrintingCredit = true) — customers receive a number of print jobs/pages. UsesIncluded is the number of printing credits included. The linked extra service must have ChargePeriod = 5 (Uses) and Price = 1.
Always check IsPrintingCredit on the linked extra service before interpreting UsesIncluded. For booking-time extra services, the unit of UsesIncluded is determined by the ChargePeriod of the linked ExtraService:
ExtraService ChargePeriodUsesIncluded unit
1 (Minutes)Minutes
2 (Days)Days
3 (Weeks)Weeks
4 (Months)Months
5 (Uses)Individual uses
6 (FourWeekMonths)4-week periods
So “UsesIncluded 60 on a minutes extra service means 60 minutes of booking time included. On a daily extra service it means 60 full days.

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 ProductExtraService-Read role.

Path Parameters

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

Code Examples

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

Response

200

ProductId
integer
Product Id.
ProductName
string
Product name.
ExtraServiceId
integer
Extra Service Id.
ExtraServiceName
string
Extra service name.
ExtraServiceChargePeriod
string
Charge period of the linked extra service.
ExtraServiceIsBookingCredit
boolean
Benefit is booking credit.
ExtraServiceIsPrintingCredit
boolean
Benefit is printing credit.
UsesIncluded
integer
Uses included.
ExpireTimeInMonths
integer
Expire Time In Months.
ExpireTimeInWeeks
integer
Expire Time In Weeks.
ExpirationType
integer
Expiration type.
ExpiresIn
integer
Expires in.
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
{
  "ProductId": 0,
  "ProductName": null,
  "ExtraServiceId": 0,
  "ExtraServiceName": null,
  "ExtraServiceChargePeriod": null,
  "ExtraServiceIsBookingCredit": false,
  "ExtraServiceIsPrintingCredit": false,
  "UsesIncluded": 0,
  "ExpireTimeInMonths": null,
  "ExpireTimeInWeeks": null,
  "ExpirationType": 0,
  "ExpiresIn": null,
  "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": "ProductExtraService Example",
  "LocalizationDetails": null,
  "CustomFields": null
}