Skip to main content
GET
/
api
/
billing
/
productextraservices
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
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-List role.

Query Parameters

Pagination & Sorting

page
integer
default:"1"
The page number to retrieve.
size
integer
default:"25"
The number of records per page.
orderBy
string
The property name to sort results by (e.g. Name, CreatedOn).
dir
integer
Sort direction. 1 for ascending, -1 for descending.

Filters

ProductExtraService_Product
integer
Filter by Product Id.
ProductExtraService_Product_Name
string
Filter by product name.
ProductExtraService_ExtraService
integer
Filter by Extra Service Id.
ProductExtraService_ExtraService_Name
string
Filter by extra service name.
ProductExtraService_ExtraService_ChargePeriod
string
Filter by charge period of the linked extra service.
ProductExtraService_ExtraService_IsBookingCredit
boolean
Filter by benefit is booking credit.
ProductExtraService_ExtraService_IsPrintingCredit
boolean
Filter by benefit is printing credit.
ProductExtraService_UsesIncluded
integer
Filter by uses included.
ProductExtraService_ExpireTimeInMonths
integer
Filter by Expire Time In Months.
ProductExtraService_ExpireTimeInWeeks
integer
Filter by Expire Time In Weeks.
ProductExtraService_ExpirationType
integer
Filter by expiration type.
ProductExtraService_ExpiresIn
integer
Filter by expires in.

Range Filters

from_ProductExtraService_UsesIncluded
integer
Filter by uses included greater than or equal to this value.
to_ProductExtraService_UsesIncluded
integer
Filter by uses included less than or equal to this value.
from_ProductExtraService_ExpireTimeInMonths
integer
Filter by expire time in months greater than or equal to this value.
to_ProductExtraService_ExpireTimeInMonths
integer
Filter by expire time in months less than or equal to this value.
from_ProductExtraService_ExpireTimeInWeeks
integer
Filter by expire time in weeks greater than or equal to this value.
to_ProductExtraService_ExpireTimeInWeeks
integer
Filter by expire time in weeks less than or equal to this value.
from_ProductExtraService_ExpiresIn
integer
Filter by expires in greater than or equal to this value.
to_ProductExtraService_ExpiresIn
integer
Filter by expires in less than or equal to this value.
from_ProductExtraService_CreatedOn
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_ProductExtraService_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_ProductExtraService_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_ProductExtraService_UpdatedOn
string
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.

Code Examples

Simple listing

curl -X GET \
  "https://spaces.nexudus.com/api/billing/productextraservices?page=1&size=15&orderBy=CreatedOn&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filtering by CreatedOn

curl -X GET \
  "https://spaces.nexudus.com/api/billing/productextraservices?ProductExtraService_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Range filters

curl -X GET \
  "https://spaces.nexudus.com/api/billing/productextraservices?from_ProductExtraService_UpdatedOn=2025-01-01T00:00&to_ProductExtraService_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

Records
ProductExtraService[]
The list of ProductExtraService records matching the query. See the Get one ProductExtraService endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each ProductExtraService. The following fields are not included in the Records[] response: ExpireTimeInMonths, ExpireTimeInWeeks, ExpiresIn.To get all fields, fetch the full record using the Get one ProductExtraService endpoint.Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
CurrentPage
integer
Current page number.
CurrentPageSize
integer
Number of records per page.
CurrentOrderField
string
The field used for sorting.
CurrentSortDirection
integer
The sort direction (1 = ascending, -1 = descending).
FirstItem
integer
Index of the first item on the current page.
LastItem
integer
Index of the last item on the current page.
TotalItems
integer
Total number of matching records across all pages.
TotalPages
integer
Total number of pages.
HasNextPage
boolean
Whether there is a next page of results.
HasPreviousPage
boolean
Whether there is a previous page of results.
Example Response
{
  "Records": [
    {
      "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
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "CreatedOn",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}