Skip to main content
POST
/
api
/
billing
/
timepasses
Create TimePass
curl --request POST \
  --url https://spaces.nexudus.com/api/billing/timepasses \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "BusinessId": 123,
  "Name": "<string>",
  "Price": 123,
  "CurrencyId": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Passes allow customers to check in to a coworking space. There are two kinds:
  • Day Pass — valid for a single calendar day. Created with MinutesIncluded omitted (null). The customer can check in any number of times during that day.
  • Time Pass — valid across multiple days up to a fixed amount of time. Created with “MinutesIncluded <minutes> set. The customer can check in until the included minutes are exhausted.

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 TimePass-Create role.

Request Body

Required Fields

BusinessId
integer
required
ID of the business linked to this record.
Name
string
required
Time pass name.
Price
number
required
Unit price amount.
CurrencyId
integer
required
ID of the currency linked to this record.

Optional Fields

InvoiceLineDisplayAs
string
Invoice line display text.
MinutesIncluded
integer
Minutes included.
CountsTowardsPlanLimits
boolean
Counts towards plan limits.
UseAsPayAsYouGoForMembers
boolean
Use as pay-as-you-go for members.
UseAsPayAsYouGoForContacts
boolean
Use as pay-as-you-go for contacts.
UsePriority
integer
Use priority.
TaxRateId
integer
ID of the tax rate linked to this record.
ReducedTaxRateId
integer
ID of the reduced tax rate linked to this record.
ExemptTaxRateId
integer
ID of the exempt tax rate linked to this record.
FinancialAccountId
integer
ID of the financial account linked to this record.
Businesses
integer[]
List of businesses linked to this record.
KisiGroupId
string
Kisi group ID.
DoorGuardGroupId
string
DoorGuard group ID.
AccessControlGroupId
string
ID of the access control group associated with this record.
AllowNetworkCheckIn
boolean
Allow network check-in.
OnlyForContacts
boolean
Only available for contacts.
OnlyForMembers
boolean
Only available for members.
Tariffs
integer[]
List of tariffs linked to this record.
Archived
boolean
Whether this time pass is archived and hidden from active lists.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/billing/timepasses" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "Price": 0,
    "CurrencyId": 0
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the timepass was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "TimePass was successfully created.",
  "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

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}