Updates an existing ExtraService record. You must include the Id of the record to update along with all required fields.
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 ExtraService-Edit role.
Enums
eChargePeriod — ChargePeriod values
Value Name 1 Minutes 2 Days 3 Weeks 4 Months 5 Uses 6 FourWeekMonths
eLastMinuteDiscountType — LastMinuteAdjustmentType values
Value Name 1 Disabled 2 Fixed 3 Gradual
Request Body
Required Fields
The Id of the ExtraService record to update.
Optional Fields
Invoice line display text.
Whether the price is visible on the portal and app.
Charge period. See eChargePeriod enum above.
Use as the default price for matched resource types if more than one price applies.
Start time restriction (minutes from midnight).
End time restriction (minutes from midnight).
Minimum booking length (minutes).
Maximum booking length (minutes).
Only apply within the resource’s available times.
Fixed cost booking length threshold (minutes).
Fixed cost price applied once the threshold is reached.
Only available for contacts.
Only available for members.
Price uses booking credits.
Price uses printing credits.
Apply charge to visitors.
Price factor for low demand periods.
Price factor for average demand periods.
Price factor for high demand periods.
Price factor for last-minute bookings.
Last-minute period threshold (minutes before booking).
Last-minute discount type. See eLastMinuteDiscountType enum above.
Date from which this price applies.
Date until which this price applies.
Comma-separated names of associated resource types.
Children
The days and times this extra service price is available for booking. The year, month and day component of FromTime/ToTime is always 1976-01-01. Start time of the availability window. Only the time-of-day component is used; the date component is always 1976-01-01..
End time of the availability window. Only the time-of-day component is used; the date component is always 1976-01-01..
Whether the extra service is available for booking during this time slot. When false, the slot acts as an explicit block..
Code Examples
curl -X PUT \
"https://spaces.nexudus.com/api/billing/extraservices" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"BusinessId": 0,
"Name": "",
"DisplayOrder": 0,
"Price": 0,
"CurrencyId": 0,
"Id": 87654321,
"TimeSlots": [
{
"DayOfWeek": 0,
"FromTime": "2025-01-15T10:30:00Z",
"ToTime": "2025-01-15T10:30:00Z",
"Available": null
}
]
}'
Response
200
HTTP status code. 200 on success.
A human-readable message confirming the update.
Contains the Id of the updated record.
true if the extraservice was updated successfully.
{
"Status" : 200 ,
"Message" : "ExtraService was successfully updated." ,
"Value" : {
"Id" : 87654321
},
"OpenInDialog" : false ,
"OpenInWindow" : false ,
"RedirectURL" : null ,
"JavaScript" : null ,
"UpdatedOn" : "2025-01-15T10:30:00Z" ,
"UpdatedBy" : "admin@example.com" ,
"Errors" : null ,
"WasSuccessful" : true
}
400
A summary of the validation error(s), in the format PropertyName: error message.
null on validation failure.
Array of validation errors. The value that was submitted for the field, or null if missing.
The validation error message.
The name of the property that failed validation.
false when the request fails validation.
{
"Message" : "Name: is a required field" ,
"Value" : null ,
"Errors" : [
{
"AttemptedValue" : null ,
"Message" : "is a required field" ,
"PropertyName" : "Name"
}
],
"WasSuccessful" : false
}