CoworkerContracts
Create CoworkerContract
Create a new CoworkerContract record.
POST
Create CoworkerContract
A CoworkerContract is the foundation for automatic billing. It links a customer (
Coworker) to a plan (Tariff) that drives the billing frequency, benefits and default settings for the contract. A customer can hold as many contracts as needed, each pointing to the same or different plans.
A customer with at least one active contract is regarded as a Member; customers with no active contracts are Contacts. Nexudus uses this distinction to enforce policies on products, resources, events, pricing and many other entities that expose OnlyForMembers or OnlyForContacts properties.
Pricing — The contract price can be fixed (Price is not null) or derived from the plan it is for. The Value field is used in reporting to compare with the actual price. Automatic price adjustments over time can be set up via ContractSchedule child entities.
Billing cycle — RenewalDate is the date on which the contract will next be automatically invoiced; it advances automatically each time the contract is invoiced. InvoicedPeriod is the period the next invoice will cover. For a new contract these two dates are usually the same. If Tariff.AdvanceInvoiceCycles is greater than 1, Nexudus invoices several periods in one go the first time, pushing InvoicedPeriod ahead of RenewalDate from the first invoice onwards. When the contract is cancelled, Nexudus stops invoicing once InvoicedPeriod reaches the cancellation date.
Benefits — The plan may include benefits (booking credits, time passes, etc.) which are released and assigned to the contract-holder customer based on the contract cycle or other expiration criteria (month, week, day, etc.).
Cancellation — Contracts support minimum contract length (ContractTerm), cancellation policies (CancellationLimitDays, ProRateCancellation) and cancellation reasons. CancelTeamContracts can cascade cancellation to team members.
Additional charges — Contracts can optionally include products (ContractProduct entities) to be billed alongside the plan, as well as security deposits/retainers (ContractDeposit entities).
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 CoworkerContract-Create role.Enums
eCancellationReason
eCancellationReason
eDeliveryHandlingPreference
eDeliveryHandlingPreference
Request Body
Required Fields
integer
required
ID of the issued by linked to this record.
integer
required
ID of the coworker linked to this record.
integer
required
ID of the tariff linked to this record.
integer
required
Day of month on which billing occurs.
integer
required
Number of units.
Optional Fields
integer
ID of the next tariff linked to this record.
string
Free-text notes for this contract.
string
Contract start date.
string
Date on which the contract will next be automatically invoiced. Updated automatically every time the contract is invoiced, advancing by the plan’s renewal period.
string
Period the next invoice will cover. For new contracts this equals RenewalDate. If Tariff.AdvanceInvoiceCycles > 1, Nexudus invoices several periods at once on the first invoice, pushing InvoicedPeriod ahead of RenewalDate. Nexudus stops invoicing when InvoicedPeriod reaches the cancellation date.
string
Minimum contract length end date. Defines the earliest date at which the contract can be cancelled without penalty.
number
Fixed price override for this contract. If null, the contract uses the plan’s default price (TariffPrice).
number
Contract value used in reporting to compare against the actual invoiced price.
integer[]
List of desks linked to this record.
integer[]
List of variants linked to this record.
string
Purchase order.
boolean
Whether to include the plan’s signup fee when creating this contract.
boolean
Whether to invoice multiple billing cycles in advance on the first invoice, as configured by Tariff.AdvanceInvoiceCycles.
boolean
Whether to pro-rate the first invoice based on the contract start date relative to the billing cycle.
string
Date of the next automatic invoice generation for this contract.
boolean
Whether the customer has accepted the plan’s terms and conditions.
string
Date on which the contract will be cancelled. Nexudus stops invoicing when InvoicedPeriod reaches this date.
integer
Minimum number of days’ notice required before cancellation takes effect.
boolean
Whether to pro-rate the final invoice when the contract is cancelled mid-cycle.
boolean
Whether to cascade cancellation to contracts of team members under this customer.
integer
Reason for cancellation. See
eCancellationReason? enum above.string
Free-text notes about the cancellation.
integer
Delivery handling preference for checks. See
eDeliveryHandlingPreference? enum above.integer
Delivery handling preference for mail. See
eDeliveryHandlingPreference? enum above.integer
Delivery handling preference for parcels. See
eDeliveryHandlingPreference? enum above.integer
Delivery handling preference for publicity. See
eDeliveryHandlingPreference? enum above.string
Free-text delivery instructions for this contract’s mail handling.
string
Date by which identity verification checks must be completed for this contract.
string
Date by which address verification checks must be completed for this contract.
string
Date/time value for start date local.
string
Date/time value for renewal date local.
string
Date/time value for next auto invoice local.
string
Date/time value for price plan terms accepted on local.
string
Date/time value for cancellation date local.
string
Date/time value for contract term local.
string
Date/time value for invoiced period local.
string
PO box number.
Children
object[]
Scheduled future price changes for this contract. Each entry sets a new Price to apply on a given date
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 coworkercontract 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
Create CoworkerContract