Skip to main content
GET
Search ProductExtraServices
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 = Uses and Price = 1.
Unit of UsesIncluded: The unit is determined by the ChargePeriod of the linked ExtraService:
  • Minutes (1): UsesIncluded is in minutes
  • Days (2): UsesIncluded is in days
  • Weeks (3): UsesIncluded is in weeks
  • Months (4): UsesIncluded is in months
  • Uses (5): UsesIncluded is in individual uses (e.g., print credits)
  • FourWeekMonths (6): UsesIncluded is in 4-week periods
When is the credit released? The credit is released as a CoworkerBookingCredit on the customer’s account when the product is purchased:
  • Admin sale (via CoworkerProduct): An admin can choose to release the credit before payment by setting ActivateNow = true when selling the product.
  • Member purchase (online, active contract): Credits are released immediately unless the Store.AlwaysInvoice business setting is enabled, in which case credits release after payment.
  • Contact purchase (online, no active contract): Credits are released after the product is paid.

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.

Enums

Query Parameters

Pagination & Sorting

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

Filters

integer
Filter by iD of the product linked to this record.
string
Filter by display value for Product.Name..
integer
Filter by iD of the extra service linked to this record. Check IsPrintingCredit to determine if UsesIncluded represents booking time or printing credits. Check ChargePeriod to determine the unit of UsesIncluded (Minutes, Days, Weeks, Months, Uses, or FourWeekMonths).
string
Filter by display value for ExtraService.Name..
string
Filter by display value for ExtraService.ChargePeriod..
boolean
Filter by display value for ExtraService.IsBookingCredit..
boolean
Filter by display value for ExtraService.IsPrintingCredit..
integer
Filter by number of uses included. The unit depends on the ChargePeriod of the linked ExtraService: Minutes (1) = minutes of booking time, Days (2) = days, Weeks (3) = weeks, Months (4) = months, Uses (5) = individual uses (e.g., print credits), FourWeekMonths (6) = 4-week periods. For printing credits, the extra service should have ChargePeriod = Uses (5)..
integer
Filter by expiration period in months (legacy field, use ExpiresIn with ExpirationType instead).
integer
Filter by expiration period in weeks (legacy field, use ExpiresIn with ExpirationType instead).
integer
Filter by expiration type: PricePlan (expires at end of billing period of the main contract - customer must have a main contract), Day, Week, Month, Year, or LastDayOfMonth.
integer
Filter by number of periods (of ExpirationType) until the released credit expires.

Range Filters

integer
Filter by number of uses included. The unit depends on the ChargePeriod of the linked ExtraService: Minutes (1) = minutes of booking time, Days (2) = days, Weeks (3) = weeks, Months (4) = months, Uses (5) = individual uses (e.g., print credits), FourWeekMonths (6) = 4-week periods. For printing credits, the extra service should have ChargePeriod = Uses (5). greater than or equal to this value.
integer
Filter by number of uses included. The unit depends on the ChargePeriod of the linked ExtraService: Minutes (1) = minutes of booking time, Days (2) = days, Weeks (3) = weeks, Months (4) = months, Uses (5) = individual uses (e.g., print credits), FourWeekMonths (6) = 4-week periods. For printing credits, the extra service should have ChargePeriod = Uses (5). less than or equal to this value.
integer
Filter by expiration period in months (legacy field, use ExpiresIn with ExpirationType instead) greater than or equal to this value.
integer
Filter by expiration period in months (legacy field, use ExpiresIn with ExpirationType instead) less than or equal to this value.
integer
Filter by expiration period in weeks (legacy field, use ExpiresIn with ExpirationType instead) greater than or equal to this value.
integer
Filter by expiration period in weeks (legacy field, use ExpiresIn with ExpirationType instead) less than or equal to this value.
integer
Filter by number of periods (of ExpirationType) until the released credit expires greater than or equal to this value.
integer
Filter by number of periods (of ExpirationType) until the released credit expires less than or equal to this value.
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.

Code Examples

Simple listing

Filtering by CreatedOn

Range filters

Response

200

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 populated in the Records[] response: ExpireTimeInMonths, ExpireTimeInWeeks.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.
integer
Current page number.
integer
Number of records per page.
string
The field used for sorting.
integer
The sort direction (0 = ascending, 1 = descending).
integer
Index of the first item on the current page.
integer
Index of the last item on the current page.
integer
Total number of matching records across all pages.
integer
Total number of pages.
boolean
Whether there is a next page of results.
boolean
Whether there is a previous page of results.
Example Response