ProductExtraServices
Create ProductExtraService
Create a new ProductExtraService record.
POST
Create ProductExtraService
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.
- 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
- 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-Create role.Enums
eChargePeriod — ExtraServiceChargePeriod values
eChargePeriod — ExtraServiceChargePeriod values
eRecurrentChargePattern
eRecurrentChargePattern
Request Body
Required Fields
integer
required
ID of the product linked to this record.
integer
required
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).
integer
required
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)..
Optional Fields
integer
Expiration period in months (legacy field, use ExpiresIn with ExpirationType instead).
integer
Expiration period in weeks (legacy field, use ExpiresIn with ExpirationType instead).
integer
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. See
eRecurrentChargePattern? enum above.integer
Number of periods (of ExpirationType) until the released credit expires.
Code Examples
Response
200
integer
HTTP status code.
200 on success.string
A human-readable message confirming the creation.
object
Contains the
Id of the newly created record.boolean
true if the productextraservice was created successfully.array
null on success.Example Response
400
string
A summary of the validation error(s), in the format
PropertyName: error message.any
null on validation failure.object[]
Array of validation errors.
boolean
false when the request fails validation.Example Response