A CoworkerExtraService records a charge or credit assigned to a customer. It covers three use cases:
- Booking charges — charges associated with bookings (e.g., meeting room usage fees). These are linked to a specific booking via
BookingId and track the resource, time range, and price.
- Time credit — booking time allowances for specific resource types. Customers can spend these credits when booking resources of the matching type. The unit of credit depends on the
ChargePeriod of the linked extra service (minutes, days, uses, etc.). TotalUses and RemainingUses track the allowance.
- Printing credit — credits for printing integrations such as PaperCut or Ezeep. The linked extra service has
IsPrintingCredit = true. TotalUses and RemainingUses track the number of print jobs or pages available.
Records can be created manually or added automatically from a plan (tariff). When IsFromTariff is true, the record was provisioned by a customer’s contract (CoworkerContract) and is linked via CoworkerContractUniqueId.
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 CoworkerExtraService-List role.
Query Parameters
The page number to retrieve.
The number of records per page.
The property name to sort results by (e.g. Name, CreatedOn).
Sort direction. 1 for ascending, -1 for descending.
Filters
Filter by Extra Service Id.
Filter by name of the linked extra service.
Filter by currency code of the linked extra service (e.g., USD, EUR).
Filter by true if the linked extra service is a printing credit (PaperCut/Ezeep). False for booking time credit.
Filter by free-text description of this charge or credit.
Filter by internal notes.
CoworkerExtraService_RemainingUses
Filter by remaining credit (time or printing) the customer can still use.
Filter by total credit originally allocated (time or printing). Unit depends on the ChargePeriod of the linked extra service.
Filter by whether this charge or credit is free (no cost to the customer).
Filter by price charged for this extra service.
Filter by price adjustment applied for last-minute bookings.
Filter by price adjustment applied by demand-based dynamic pricing.
Filter by multiplier applied for last-minute booking pricing.
CoworkerExtraService_PriceFactorDemand
Filter by multiplier applied for demand-based pricing.
Filter by date from which this credit becomes usable.
Filter by date when this credit expires and can no longer be used.
Filter by payment due date for the charge.
Filter by purchase order.
Filter by unit of measurement for time credit (Minutes, Days, Weeks, Months, Uses, FourWeekMonths).
Filter by whether this charge has already been invoiced.
Filter by whether this credit was automatically provisioned from the customer’s plan (tariff).
Filter by links this credit back to the time pass definition in the plan.
Filter by links this credit back to the customer product that provisioned it.
Filter by unique ID of the booking that generated this charge.
Filter by whether this record was automatically created (e.g., from a booking or plan renewal).
Filter by invoice the customer directly instead of the team or company paying member.
Filter by unique ID of the discount applied to this charge.
Filter by amount discounted from the price.
Filter by iD of the booking that generated this charge.
Filter by start time of the booking that generated this charge.
Filter by end time of the booking that generated this charge.
Filter by name of the resource booked (e.g., meeting room name).
Filter by links this credit back to the customer contract that provisioned it.
Range Filters
from_CoworkerExtraService_RemainingUses
Filter by remaining credit (time or printing) the customer can still use greater than or equal to this value.
to_CoworkerExtraService_RemainingUses
Filter by remaining credit (time or printing) the customer can still use less than or equal to this value.
Filter by total credit originally allocated (time or printing). Unit depends on the ChargePeriod of the linked extra service greater than or equal to this value.
Filter by total credit originally allocated (time or printing). Unit depends on the ChargePeriod of the linked extra service less than or equal to this value.
Filter by price charged for this extra service greater than or equal to this value.
Filter by price charged for this extra service less than or equal to this value.
Filter by price adjustment applied for last-minute bookings greater than or equal to this value.
Filter by price adjustment applied for last-minute bookings less than or equal to this value.
Filter by price adjustment applied by demand-based dynamic pricing greater than or equal to this value.
Filter by price adjustment applied by demand-based dynamic pricing less than or equal to this value.
Filter by multiplier applied for last-minute booking pricing greater than or equal to this value.
Filter by multiplier applied for last-minute booking pricing less than or equal to this value.
from_CoworkerExtraService_PriceFactorDemand
Filter by multiplier applied for demand-based pricing greater than or equal to this value.
to_CoworkerExtraService_PriceFactorDemand
Filter by multiplier applied for demand-based pricing less than or equal to this value.
Filter by date from which this credit becomes usable greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by date from which this credit becomes usable less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by date when this credit expires and can no longer be used greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by date when this credit expires and can no longer be used less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by payment due date for the charge greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by payment due date for the charge less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by invoice date greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by invoice date less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by amount discounted from the price greater than or equal to this value.
Filter by amount discounted from the price less than or equal to this value.
Filter by iD of the booking that generated this charge greater than or equal to this value.
Filter by iD of the booking that generated this charge less than or equal to this value.
Filter by start time of the booking that generated this charge greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by start time of the booking that generated this charge less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by end time of the booking that generated this charge greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by end time of the booking that generated this charge less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
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/coworkerextraservices?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/coworkerextraservices?CoworkerExtraService_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Range filters
curl -X GET \
"https://spaces.nexudus.com/api/billing/coworkerextraservices?from_CoworkerExtraService_UpdatedOn=2025-01-01T00:00&to_CoworkerExtraService_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
200
The list of CoworkerExtraService records matching the query. See the Get one CoworkerExtraService endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each CoworkerExtraService. The following fields are not included in the Records[] response: Notes, InvoiceThisCoworker.To get all fields, fetch the full record using the Get one CoworkerExtraService 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.
Number of records per page.
The field used for sorting.
The sort direction (1 = ascending, -1 = descending).
Index of the first item on the current page.
Index of the last item on the current page.
Total number of matching records across all pages.
Whether there is a next page of results.
Whether there is a previous page of results.
{
"Records": [
{
"CoworkerId": 0,
"BusinessId": 0,
"ExtraServiceId": 0,
"ExtraServiceName": null,
"ExtraServiceCurrencyCode": null,
"ExtraServiceIsPrintingCredit": false,
"Description": null,
"Notes": null,
"RemainingUses": 0,
"TotalUses": 0,
"Free": false,
"Price": null,
"LastMinutePriceAdjustment": null,
"DynamicPriceAdjustment": null,
"PriceFactorLastMinute": null,
"PriceFactorDemand": null,
"ValidFrom": null,
"ExpireDate": null,
"DueDate": null,
"PurchaseOrder": null,
"ChargePeriod": 0,
"Invoiced": false,
"InvoiceDate": null,
"IsFromTariff": false,
"TariffTimePassUniqueId": null,
"CoworkerProductUniqueId": null,
"BookingUniqueId": null,
"AutomaticallyAdded": false,
"InvoiceThisCoworker": false,
"DiscountCode": null,
"CoworkerDiscountUniqueId": null,
"DiscountAmount": null,
"BookingId": null,
"BookingFromTime": null,
"BookingToTime": null,
"BookingResourceName": null,
"CoworkerContractUniqueId": 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": "CoworkerExtraService 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
}