The Fitssey API is organized around REST implementation. It communicates using HTTPS resource-oriented URLs, accepting and returning JSON payloads. The API is secured using Bearer token which can be obtained in your Studio settings.
We advise you to take 30 minutes upon reading this document and this may save you time when developing your great application.
/pricing-option/all
endpoint to return all "PricingOptions"./payment-option/all
endpoint to return all "PaymentOptions"./product/all
endpoint to return all "Products"./contract/all
endpoint to return all "Contracts"./client/{user}/client-visit/all
endpoint to return all "ClientVisits" of the client./client/all
endpoint to return all clients of the studio./client/{user}/client-pricing-option/all
endpoint to return all "ClientPricingOptions" of the client./client-order/{clientOrder}
endpoint to patch the ClientOrder
object./client-contract-instalment/{clientContractInstalment}/suspend
endpoint to suspend the ClientContractInstalment
./client-contract-instalment/{clientContractInstalment}/resume
endpoint to resume the ClientContractInstalment
./user/{user}
endpoint to retrieve user by the given guid./wallet/payment-card/add
endpoint to create UserPaymentCard
objects if you have already existing token./user/login
endpoint to allow authenticate the user using username and password.Address
and Phone
./client-contract/all
endpoint to return all contracts of the client./client-contract/{clientContract}/terminate
endpoint to terminate the contract from the given instalment./wallet/sepa/add
endpoint to create SEPA Direct Debit payment cards./client/create
endpoint to create client accounts using API.Retail
endpoints to checkout PricingOptions
, PaymentOptions
, Products
or Contracts
for given User.ClientContract
and ClientContractInstalment
in common objects.You can interact with Fitssey API in test mode, which does not affect your live data. The API key you use to authenticate the request determines whether the request is live mode or test mode.
To make the very first connection to the API, take a look at Ping endpoint.
The base URL contains several information you need to know. First, your Studio unique identifier UUID
can be found in your Studio settings and it's an integral part of each request.
Thanks to the UUID
, we know it's you. Second, the version number v4
determines what version of the API you will use. Third, public
keyword tells you exactly which API area you are making calls to.
https://app.fitssey.com/{uuid}/api/v4/public
For developers we have created examples that can be found in our official Github profile (https://github.com/fitssey). There is also available Fitssey API client for PHP.
Check out our Widgets integration - simply copy & paste the given code and things magically appear on your website. Alternatively, you can contact our partner company to take you to the future!
Fitssey API by default uses HTTP authentication.
The very first thing you would have to do is to create an API key in your Studio settings.
When developing and testing your integration, we recommend to start using test API keys with test_
prefix. Once you're ready to push your application to production, generate a new production-ready API key prefixed with live_
.
Of course it's very important to keep your API keys always secure. That is why we strongly recommend to:
The created API key must be sent along with each API request, by providing it in the HTTP Authorization
request header using the Bearer
method. The valid Authorization
header looks as follows:
Bearer test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM
. Alternatively, you can use setApiKey()
method available in our API clients - just to make your day easier.
Whenever you develop the application, you must always check for errors because sometimes things break. Normally, you will always get a response in JSON format explaining what the error was along with the error code for a reference.
A first digit of HTTP status code represents whether the response was successful or not.
2xx
range indicates that a response was successful and you can handle the data in your application.4xx
range indicates that a response has failed due to number of reasons explained in the error message (can be validation problem, resource not found or authentication issue).
Usually this error won't go away by itself.5xx
range indicates that Fitssey application had hiccup, meaning something happend in our app infrastructure. Only we know what causes the problem, so you won't get detailed message what's going on in the error message.
In such critical errors, we are instantly notified about the problem, so it may be possible that if you retry your request it will work again.HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"error": {
"statusCode": 403,
"code": 103,
"message": "Invalid API key"
}
}
Some of the objects have deprecated name
and description
fields. You will notice that those fields are simply not strings but rather objects containing locale and the value. Example: {"name": {"en_EN": {"value": "My English caption"}, "pl_PL": {"value": "My Polish caption"}}}
.
We are moving away from such setup, that is why when you develop the application using Fitssey API, it's important to check whether those fields are objects or strings, so it won't break your code when we suddenly change this behavior.
JavaScript example:
// a response from Fitssey API
let name = response.data.name; // {"en_EN": {"value": "My English caption"}, "pl_PL": {"value": "My Polish caption"}}
// make sure to provide proper locale of your Studio
let locale = 'en_EN';
// check whether the name exists and it's not a string, it will most likely be an object
if(name && (typeof name !== 'string' || !(name instanceof String)))
{
name = name[locale].value;
}
console.log(name);
// output: My English caption
PHP example:
// a result from Fitssey API
$name = $result->name; // {"en_EN": {"value": "My English caption"}, "pl_PL": {"value": "My Polish caption"}}
// make sure to provide proper locale of your Studio
$locale = 'en_EN';
// check whether the name is an object
if(is_object($name))
{
$name = $name->{$locale}->value; // array style would be $name[$locale]['value']
}
var_dump($name);
// output: My English caption
Note that only values will be changed to strings, the property names will remain the same.
Sometimes we use enums as strings (e.g. scheduled
) and sometimes as integers (e.g. 1
(paid)). Pay attention whether to use each.
You can use our API to write custom applications or integrations for your website. You can do variety of things including the following:
Currently there is no rate limit to our API, however this may change in the future, so please treat our API with all the respect and don't abuse the calls. If possible, please cache the responses on your side.
No, we do not charge extra costs and all the accounts have free access to documentation, resources and endpoints.
guid | string <guid> = 36 characters Globally unique identifier. |
{- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
emailAddress | string An unique user's email address. |
firstName | string The user's first name. |
lastName | string The user's last name. |
sex | integer Default: 1 Enum: 0 (male) 1 (female) The user's gender. |
suspensionType | integer Default: null Enum: 0 (booking) 1 (login) If not null, returns information about what type of suspension has been set on user's account. |
isSuspended | boolean Default: false Determines whether the user's account is suspended or not. |
suspendedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been suspended. |
suspensionExpiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account will be automatically released from suspension. |
suspensionReason | string Default: null Additional reason of why user's account has been suspended. |
isLoginEnabled | boolean Default: true Determines whether the user's login possibility is enabled or not. |
activatedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been activated (mostly via activation link in the email). |
lastSeenAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user was logged in to FrontOffice for the last time. |
object Attached when user is a | |
fullName | string The user's first ane last name combined into one field. |
hasAndroidApp | boolean Default: false Determines whether user is using Android app (Fitssey free app or Fitssey premium app). |
hasIosApp | boolean Default: false Determines whether user is using iOS app (Fitssey free app or Fitssey premium app). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "firstName": "Monica",
- "lastName": "Dvorak",
- "sex": 1,
- "suspensionType": 1,
- "isSuspended": false,
- "suspendedAt": "2019-09-10T15:31:47+02:00",
- "suspensionExpiresAt": "2019-09-17T15:31:47+02:00",
- "suspensionReason": "Suspended due to many cancellations",
- "isLoginEnabled": true,
- "activatedAt": "2019-09-01T12:02:35+02:00",
- "lastSeenAt": "2019-09-03T09:54:12+02:00",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "fullName": "Luna The Cat",
- "hasAndroidApp": false,
- "hasIosApp": false,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
type | string Enum: creditcard directDebit The type of the payment card. |
paymentGateway | string Enum: imoje mollie espago The payment gateway used to create the payment card. |
issuer | string Enum: visa mastercard The issuer name of the payment card. |
token | string The token received from payment gateway that allows you to charge user's payment card. |
holder | string The holder name of the payment card. |
pan | string Last four digits of the payment card number. |
expiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the payment card expires (expressed in ISO 8601 format). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "type": "creditcard",
- "paymentGateway": "mollie",
- "issuer": "visa",
- "token": "QSuC6orAxSBUUJgKMYu8h7rILk",
- "holder": "Jane Doe",
- "pan": "6789",
- "expiresAt": "2024-04-01T00:00:00+02:00",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
uuid | string Client's public and unique ID. |
object (agreements) A list of agreements given by the client. | |
birthdayAt | datetime <Y-m-d\TH:i:s\Z> Default: null The client's birthdate. |
lastActiveAt | datetime <Y-m-d H:i:s> The last time at which client made one of the following actions: |
object The object describing client's postal address. | |
object The object describing client's available phone numbers. | |
object An uploaded image displayed in client's profile (FrontOffice and BackOffice). |
{- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}
status | integer Enum: 0 (booked) 1 (present) 2 (absent) 3 (early cancel) 4 (self early cancel) 5 (late cancel) 6 (self late cancel) 7 (class cancelled) 8 (waiting list) 9 (unconfirmed) The last visit status that indicates whether the visit was booked or cancelled. |
visitStartsAt | datetime <Y-m-d\TH:i:s\Z> A date when client's visit begins. |
visitEndsAt | datetime <Y-m-d\TH:i:s\Z> A date when client's visit ends. |
isFree | boolean Determines whether the visit is free of charge or not. |
object ClientPricingOption object attached to the visit. | |
isUnpaid | boolean Determines whether the visit is unpaid or not. |
qualifiedName | string A descriptive name for the visit inherited from ClassService. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "status": 0,
- "visitStartsAt": "2024-04-02T11:00:00+01:00",
- "visitEndsAt": "2024-04-02T12:00:00+01:00",
- "isFree": false,
- "clientPricingOption": {
- "remain": "4",
- "sessionType": "4",
- "expiresAt": "2023-08-31T21:59:59+02:00",
- "activatedAt": "2023-08-01T22:00:00+02:00",
- "isUnpaid": false,
- "isShared": false,
- "qualifiedName": "Yoga pass 8x",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "isUnpaid": false,
- "qualifiedName": "Yoga class",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
orderStatus | integer Enum: 0 (pending) 1 (paid) 2 (unpaid) 3 (cancelled) 4 (rejected) 5 (awaiting) 6 (void) 7 (scheduled) 8 (failed) 9 (authorizationAllowed) 10 (authorizationDisallowed) 11 (freeOfCharge) 12 (suspended) The last order status that indicates whether the order has been paid or not. |
paymentMethod | integer Enum: 0 (online) 1 (bankTransfer) 2 (cash) 3 (cash) 4 (gift) 5 (none) 6 (paymentCard) 11 (test) 12 (terminal) The payment method that has been used to pay for this order. |
paidAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total paid amount for the order. |
dueAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total due amount for the order. |
discountRate | decimal A decimal number indicating discount rate (0.2 for 20%, 1.0 for 100%). |
paymentDueAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time by which the order should be paid. |
paidAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been paid. |
object Default: null | |
voidedAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been voided. |
object Default: null | |
object Client object attached to the order. | |
Array of objects (ClientOrderItem) Item objects purchased along with the order. | |
totalPrice | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total price of the order. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A name of the purchased item |
totalPrice | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total price of the order item |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A name of the contract. |
startsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract starts (expressed in ISO 8601 format). |
endsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract ends (expressed in ISO 8601 format). |
terminatedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract has been terminated (expressed in ISO 8601 format). |
terminatedFrom | datetime <Y-m-d\TH:i:s\Z> Time from which the contract will become terminated (expressed in ISO 8601 format). |
terminationReason | text The reason why the contract has been terminated. |
object Client object attached to the contract. | |
Array of objects (ClientContractInstalment) A list of contract instalments. | |
nextPaymentAt | datetime <Y-m-d\TH:i:s\Z> Time at which next payment is scheduled (expressed in ISO 8601 format). |
nextChargeAmount | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the next scheduled charge amount. |
minInstalmentCountToAllowTermination | integer A minimum number of instalments after which the contract can be terminated. No value means it can be terminated anytime. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "1 Year Contract",
- "startsAt": "2019-06-01T22:00:00+02:00",
- "endsAt": "2020-05-31T21:59:59+02:00",
- "terminatedAt": "2020-10-02T22:00:00+02:00",
- "terminatedFrom": "2020-10-02T22:00:00+02:00",
- "terminationReason": "Moving out to different country",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "instalments": [
- {
- "status": "scheduled",
- "scheduledAt": "2019-05-12T22:00:00+02:00",
- "endsAt": "2019-06-12T21:59:59+02:00",
- "suspensionReason": "Holiday season",
- "clientOrder": {
- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "nextPaymentAt": "2020-10-02T22:00:00+02:00",
- "nextChargeAmount": "8000",
- "minInstalmentCountToAllowTermination": "3",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
status | string Enum: scheduled processed The status that indicates whether the instalment has been scheduled or processed |
scheduledAt | datetime <Y-m-d\TH:i:s\Z> The scheduled date of the instalment (expressed in ISO 8601 format). This is the date when scheduled instalment becomes processed one |
endsAt | datetime <Y-m-d\TH:i:s\Z> The end date of the instalment (expressed in ISO 8601 format) |
suspensionReason | text The reason why the instalment has been suspended |
object Attached the order to the instalment | |
hasStarted | boolean Default: false Determines whether the instalment has started or not |
hasEnded | boolean Default: false Determines whether the instalment has ended or not |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "status": "scheduled",
- "scheduledAt": "2019-05-12T22:00:00+02:00",
- "endsAt": "2019-06-12T21:59:59+02:00",
- "suspensionReason": "Holiday season",
- "clientOrder": {
- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
remain | integer Remaining amount of session values, either time or visit based. |
sessionType | string Enum: limitedVisits limitedTime unlimited Session type defines session values. Either time or visit based as well as unlimited. |
expiresAt | datetime <Y-m-d\TH:i:s\Z> A date when client's pricing option will be expired. |
activatedAt | datetime <Y-m-d\TH:i:s\Z> A date when client's pricing option will be active from. |
isUnpaid | boolean Determines whether the client's pricing option is paid or not. |
isShared | boolean Determines whether the client's pricing option is shared with other clients or not. |
qualifiedName | string A representative name of the client's pricing option. Can be custom or inherited from pricing option. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "remain": "4",
- "sessionType": "4",
- "expiresAt": "2023-08-31T21:59:59+02:00",
- "activatedAt": "2023-08-01T22:00:00+02:00",
- "isUnpaid": false,
- "isShared": false,
- "qualifiedName": "Yoga pass 8x",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
nickname | text Default: null If not null, returns member's given nickname |
publicBiography | text The public description of a member, available in FrontOffice pages |
birthdayAt | datetime <Y-m-d\TH:i:s\Z> Default: true The member's birthdate |
object An uploaded image displayed in member's profile (FrontOffice and BackOffice) | |
qualifiedName | string Default: null Depending on studio's preferences, it will return either member's full name or the given nickname |
{- "nickname": "Mark the Teacher",
- "publicBiography": "Mark is one of the best Yoga teachers...",
- "birthdayAt": "1974-09-17T22:00:00+02:00",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "qualifiedName": "Mark the Teacher"
}
absoluteUrl | string <url> Full URL to the uploaded image |
guid | string <guid> = 36 characters Globally unique identifier. |
{- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
referenceId | string The unique ID of the event |
totalCapacity | integer The total number of available spots for the given event |
onlineCapacity | integer The total number of spots available for booking online (e.g. FrontOffice, mobile app) for the given event |
waitingListCapacity | integer The total number of spots available for joining waiting list for the given event |
color | string Default: null Representing color of the given event displayed on the schedule |
isFree | boolean Default: false Determines whether the event is free of charge (no PricingOption required) |
isCancelled | boolean Default: false Determines whether the event is cancelled or not |
isHidden | boolean Default: false Determines whether the event is hidden on the schedule or not |
isBookableOnline | boolean Default: true Determines whether the event is bookable online (e.g. FrontOffice, mobile app) |
startsAt | datetime <Y-m-dTH:i:s> The time at which the event starts |
endsAt | datetime <Y-m-dTH:i:s> The time at which the event ends |
object The teacher assigned to the given event | |
object | |
hasStarted | boolean Default: false Determines whether the event has started or not |
hasEnded | boolean Default: false Determines whether the event has ended or not |
isInProgress | boolean Default: false Determines whether the event is currently in progress |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "referenceId": "55995f06ed386dc3d3bd236eaeb95b8c109540266bf7e1a6c634ae1b56b5bfe6",
- "totalCapacity": 22,
- "onlineCapacity": 20,
- "waitingListCapacity": 10,
- "color": "rgb(69, 180, 231)",
- "isFree": false,
- "isCancelled": false,
- "isHidden": false,
- "isBookableOnline": true,
- "startsAt": "2019-09-04T10:00:00+02:00",
- "endsAt": "2019-09-04T11:00:00+02:00",
- "member": {
- "nickname": "Mark the Teacher",
- "publicBiography": "Mark is one of the best Yoga teachers...",
- "birthdayAt": "1974-09-17T22:00:00+02:00",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "qualifiedName": "Mark the Teacher"
}, - "room": {
- "location": {
- "name": "Circle place",
- "type": "facility",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "isInProgress": false,
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
object | |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "classService": {
- "name": "Astanga Yoga",
- "internalName": "Astanga Yoga [with own mats]",
- "description": "This class is perfect for...",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the class (a title). |
internalName | string An additional descriptive name for the class visible in BackOffice only. |
description | text A public description for the class, available in FrontOffice. |
object A public picture representing the given class. | |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Astanga Yoga",
- "internalName": "Astanga Yoga [with own mats]",
- "description": "This class is perfect for...",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the location. |
type | string Location's type which determines either if it's a facility or outdoor. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Circle place",
- "type": "facility",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
object | |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "location": {
- "name": "Circle place",
- "type": "facility",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
street | string The street name along with the house number. |
postalCode | string The postal code of the city. |
city | string The city. |
countryCode | string The country code in ISO 3166-1 alpha-2. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
primaryPhone | string The primary phone number based on the available phone numbers. The order is as follows: |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the pricing option. |
internalName | string An additional descriptive name for the pricing option visible in BackOffice only. |
description | text A public description for the pricing option, available in FrontOffice. |
object A public picture representing the given pricing option. | |
preSaleInfo | text Additional information displayed in the FrontOffice shopping cart before purchasing. |
sessionType | string Enum: limitedVisits limitedTime unlimited Determines the session type. |
sessionValue | integer Determines how many sessions (credits) are available for the pricing option. Check |
price | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the amount for the pricing option. |
taxRate | decimal A decimal number indicating tax rate (1.0 for 0%, 1.23 for 23%). |
expirationType | integer Enum: 0 (sale date) 1 (first visit) 2 (always valid) 3 (calendar month) 4 (specific date) Determines expiration type for the pricing option and set the activation and expiration dates accordingly. |
isSoldOnline | boolean Determines whether the pricing option is available in FrontOffice to be sold. |
isAutoAssigned | boolean Determines whether the pricing option is automatically assigned to newly created accounts. |
isIntroductoryOffer | boolean Determines whether the pricing option is set as introductory offer visible under certain conditions to new clients. |
object An object holding promotion information when created. | |
discountedPrice | float A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the discounted amount for the pricing option. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Guest card",
- "internalName": "Guest card [previously 1x card]",
- "description": "Great option for trying out!",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "preSaleInfo": "Remember, you can only buy one",
- "sessionType": "limitedVisits",
- "sessionValue": 2,
- "price": 5500,
- "taxRate": 1.23,
- "expirationType": 0,
- "isSoldOnline": true,
- "isAutoAssigned": false,
- "isIntroductoryOffer": false,
- "promotion": {
- "isPromotionEnabled": true,
- "isPromotionRestrictedToSpecificDates": true,
- "promotionType": "discount",
- "discountAmount": 3000,
- "discountType": 0,
- "highlightShape": "shape2",
- "highlightColor": "rgb(157,108,178)",
- "highlightText": "Promotion",
- "promotionStartsAt": "2025-01-00:00:00+02:00",
- "promotionEndsAt": "2026-01-01T23:59:59+02:00",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "discountedPrice": 2500,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the payment option. |
price | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the amount for the payment option. |
taxRate | decimal A decimal number indicating tax rate (1.0 for 0%, 1.23 for 23%). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Physical card fee",
- "price": 500,
- "taxRate": 1.23,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the product. |
description | text A public description for the product, available in FrontOffice. |
sku | string SKU (Stock keeping unit) of the product. |
price | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the amount for the product. |
taxRate | decimal A decimal number indicating tax rate (1.0 for 0%, 1.23 for 23%). |
stock | integer Determines number of items in the stock. |
object A public picture representing the given product. | |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "Yoga mat",
- "description": "Best looking mat for your yoga poses",
- "sku": "K42SF92919",
- "price": 34200,
- "taxRate": 1.23,
- "stock": 134,
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
name | string A descriptive name for the contract. |
object A public picture representing the given contract. | |
preSaleInfo | text Additional information displayed in the FrontOffice shopping cart before purchasing. |
instalments | object An installment configuration. |
isSoldOnline | boolean Determines whether the contract is available in FrontOffice to be sold. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "name": "One Year Contract",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "preSaleInfo": "Must agree to terms and conditions",
- "instalments": { },
- "isSoldOnline": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
This call returns all class events within the given period.
loadFilters | boolean Default: false Determines whether the response should contain additional data required to build the filters. |
startDate | date <Y-m-d> (startDate) Default: Today's date The requested start date for filtering the results. |
endDate | date <Y-m-d> (endDate) Default: Today's date The requested end date for filtering the results. |
view | string Default: agendaView Enum: agendaView calendarView The requested view for parsing output data. |
object Default: null The object containing filters to base the search on. |
object Attaches lists of | |
Array of objects Schedule data grouped by dates, depending on the |
curl -X GET "https://app.fitssey.com/{uuid}/api/v4/public/schedule?startDate="2024-12-27"&endDate="2025-01-03"&view=calendarView&loadFilters=true&filters[member]=3AFF07DF-B974-AA7B-ACB3-2418521EC1BB" \ -H "Accept: application/json" \ -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
{- "filters": {
- "classes": [ ],
- "locations": [ ],
- "members": [ ]
}, - "schedule": [
- {
- "date": "2019-09-04",
- "scheduleEvents": [
- {
- "referenceId": "55995f06ed386dc3d3bd236eaeb95b8c109540266bf7e1a6c634ae1b56b5bfe6",
- "totalCapacity": 22,
- "onlineCapacity": 20,
- "waitingListCapacity": 10,
- "color": "rgb(69, 180, 231)",
- "isFree": false,
- "isCancelled": false,
- "isHidden": false,
- "isBookableOnline": true,
- "startsAt": "2019-09-04T10:00:00+02:00",
- "endsAt": "2019-09-04T11:00:00+02:00",
- "member": {
- "nickname": "Mark the Teacher",
- "publicBiography": "Mark is one of the best Yoga teachers...",
- "birthdayAt": "1974-09-17T22:00:00+02:00",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "qualifiedName": "Mark the Teacher"
}, - "room": {
- "location": {
- "name": "Circle place",
- "type": "facility",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "isInProgress": false,
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
]
}
This call returns all studio classes.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (ClassService) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "name": "Astanga Yoga",
- "internalName": "Astanga Yoga [with own mats]",
- "description": "This class is perfect for...",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call allows you to create a client account.
firstName required | string [ 2 .. 25 ] characters The client's first name. |
lastName required | string [ 2 .. 40 ] characters The client's last name. |
emailAddress | string <= 50 characters Default: null The client's email address. |
sex | integer Default: null Enum: 0 (male) 1 (female) The client's gender. |
activationMethod | string Default: null Enum: disabled email password There are two types of activation (both require providing an email address): |
object A property describing client payload. |
emailAddress | string An unique user's email address. |
firstName | string The user's first name. |
lastName | string The user's last name. |
sex | integer Default: 1 Enum: 0 (male) 1 (female) The user's gender. |
suspensionType | integer Default: null Enum: 0 (booking) 1 (login) If not null, returns information about what type of suspension has been set on user's account. |
isSuspended | boolean Default: false Determines whether the user's account is suspended or not. |
suspendedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been suspended. |
suspensionExpiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account will be automatically released from suspension. |
suspensionReason | string Default: null Additional reason of why user's account has been suspended. |
isLoginEnabled | boolean Default: true Determines whether the user's login possibility is enabled or not. |
activatedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been activated (mostly via activation link in the email). |
lastSeenAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user was logged in to FrontOffice for the last time. |
object Attached when user is a | |
fullName | string The user's first ane last name combined into one field. |
hasAndroidApp | boolean Default: false Determines whether user is using Android app (Fitssey free app or Fitssey premium app). |
hasIosApp | boolean Default: false Determines whether user is using iOS app (Fitssey free app or Fitssey premium app). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "firstName": "Jonathan",
- "lastName": "Smith",
- "sex": 1,
- "activationMethod": "password",
- "client": {
- "birthdayAt": "1995-06-27 00:00:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam"
}, - "phone": {
- "mobilePhone": "+31222333444",
- "homePhone": "20304050",
- "workPhone": "60708090"
}, - "clientFields": {
- "myCustomField1": 1234,
- "myCustomField2": "ABCD"
}
}
}
[- {
- "firstName": "Monica",
- "lastName": "Dvorak",
- "sex": 1,
- "suspensionType": 1,
- "isSuspended": false,
- "suspendedAt": "2019-09-10T15:31:47+02:00",
- "suspensionExpiresAt": "2019-09-17T15:31:47+02:00",
- "suspensionReason": "Suspended due to many cancellations",
- "isLoginEnabled": true,
- "activatedAt": "2019-09-01T12:02:35+02:00",
- "lastSeenAt": "2019-09-03T09:54:12+02:00",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "fullName": "Luna The Cat",
- "hasAndroidApp": false,
- "hasIosApp": false,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
This call returns all studio clients.
sortField | string Default: createdAt Enum: (all properties) city street postalCode Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
filters[address] | Array of arrays Items Enum: havingAddress noAddress Example: filters[address]=havingAddress Shrink the collection based on address criteria. |
filters[phone] | Array of arrays Items Enum: havingPhone noPhone Example: filters[phone]=noPhone Shrink the collection based on phone criteria. |
filters[sex] | Array of arrays Items Enum: 0 (male) 1 (female) Example: filters[sex]=1 Shrink the collection based on gender criteria. |
filters[age] | Array of arrays Items Enum: <18 18-24 25-34 35-44 45-54 55-64 65+ Example: filters[age]=18-24 Shrink the collection based on age criteria. |
filters[agreements] | Array of arrays Items Enum: havingTermsOfUseAgreement noTermsOfUseAgreement havingPrivacyPolicyAgreement noPrivacyPolicyAgreement havingNewsletterAgreement noNewsletterAgreement Example: filters[agreements]=noPrivacyPolicyAgreement Shrink the collection based on agreements criteria. |
filters[tags] | Array of arrays Items Enum: havingTags noTags Example: filters[tags]=havingTags Shrink the collection based on tags criteria. |
filters[selectedTags] | Array of arrays Items Value: guid Example: filters[selectedTags]=F15138B6-826E-4287-AAA5-8EC301D65FB4 Shrink the collection based on specific tags criteria. |
filters[notes] | Array of arrays Items Enum: havingNotes noNotes Example: filters[notes]=havingNotes Shrink the collection based on notes criteria. |
filters[emergencyContact] | Array of arrays Items Enum: havingEmergencyContact noEmergencyContact Example: filters[emergencyContact]=noEmergencyContact Shrink the collection based on emergency contact criteria. |
filters[mobileApps] | Array of arrays Items Enum: mobileApp noMobileApp Example: filters[mobileApps]=noMobileApp Shrink the collection based on mobile app criteria. |
filters[deleted] | Array of arrays Items Enum: true false Example: filters[deleted]=true Shrink the collection based on deleted clients criteria. |
filters[suspended] | Array of arrays Items Enum: havingAccountSuspended noAccountSuspended Example: filters[suspended]=havingAccountSuspended Shrink the collection based on suspended clients criteria. |
filters[birthdate] | Array of arrays Items Enum: havingBirthdate noBirthdate Example: filters[birthdate]=noBirthdate Shrink the collection based on birthdates criteria. |
filters[login] | Array of arrays Items Enum: havingLoginEnabled noLoginEnabled Example: filters[login]=noLoginEnabled Shrink the collection based on login criteria. |
filters[createdAt] | Array of arrays Items Enum: eq (=) lt (<) lte (<=) gt (>) gte (>=) Example: filters[createdAt]=lt(2023-10-25) Shrink the collection based on created on criteria. |
filters[modifiedAt] | Array of arrays Items Enum: between eq (=) lt (<) lte (<=) gt (>) gte (>=) Example: filters[modifiedAt]=between(2023-10-01,2023-10-31) Shrink the collection based on modified on criteria. |
queryString | string Default: null Filtering collection by free text. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (Client) |
curl -X GET "https://app.fitssey.com/{uuid}/api/v4/public/client/all?filters[address][]=havingAddress&filters[sex][]=1&filters[age][]=25-34&filters[age][]=55-64&filters[selectedTags][]=F7AF8A76-1A51-4CE6-9142-0D987C2B647F&filters[selectedTags][]=A1FED25B-A13E-4E65-8F74-62290C882BEF&filters[createdAt][]=eq(2023-10-26)" \ -H "Accept: application/json" \ -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}
]
}
This call returns all client visits.
user required | string <guid> The guid of the User the returned client visits belong to. |
sortField | string Default: createdAt Value: (all properties) Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (ClientVisit) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "status": 0,
- "visitStartsAt": "2024-04-02T11:00:00+01:00",
- "visitEndsAt": "2024-04-02T12:00:00+01:00",
- "isFree": false,
- "clientPricingOption": {
- "remain": "4",
- "sessionType": "4",
- "expiresAt": "2023-08-31T21:59:59+02:00",
- "activatedAt": "2023-08-01T22:00:00+02:00",
- "isUnpaid": false,
- "isShared": false,
- "qualifiedName": "Yoga pass 8x",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "isUnpaid": false,
- "qualifiedName": "Yoga class",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
With this call you will be able to terminate client contract.
clientContract required | string <guid> The guid of the ClientContract to be terminated. |
terminateFromInstalment | string <guid> The guid of the ClientContractInstalment from which the contract will be terminated. |
name | string A name of the contract. |
startsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract starts (expressed in ISO 8601 format). |
endsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract ends (expressed in ISO 8601 format). |
terminatedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract has been terminated (expressed in ISO 8601 format). |
terminatedFrom | datetime <Y-m-d\TH:i:s\Z> Time from which the contract will become terminated (expressed in ISO 8601 format). |
terminationReason | text The reason why the contract has been terminated. |
object Client object attached to the contract. | |
Array of objects (ClientContractInstalment) A list of contract instalments. | |
nextPaymentAt | datetime <Y-m-d\TH:i:s\Z> Time at which next payment is scheduled (expressed in ISO 8601 format). |
nextChargeAmount | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the next scheduled charge amount. |
minInstalmentCountToAllowTermination | integer A minimum number of instalments after which the contract can be terminated. No value means it can be terminated anytime. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "terminateFromInstalment": "{guid}"
}
{- "name": "1 Year Contract",
- "startsAt": "2019-06-01T22:00:00+02:00",
- "endsAt": "2020-05-31T21:59:59+02:00",
- "terminatedAt": "2020-10-02T22:00:00+02:00",
- "terminatedFrom": "2020-10-02T22:00:00+02:00",
- "terminationReason": "Moving out to different country",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "instalments": [
- {
- "status": "scheduled",
- "scheduledAt": "2019-05-12T22:00:00+02:00",
- "endsAt": "2019-06-12T21:59:59+02:00",
- "suspensionReason": "Holiday season",
- "clientOrder": {
- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "nextPaymentAt": "2020-10-02T22:00:00+02:00",
- "nextChargeAmount": "8000",
- "minInstalmentCountToAllowTermination": "3",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
This call updates the client order.
clientOrder required | string <guid> The guid of the ClientOrder to update. |
orderStatus | integer Enum: 0 (pending) 1 (paid) 2 (unpaid) 3 (cancelled) 4 (rejected) 5 (awaiting) 6 (void) 7 (scheduled) 8 (failed) 9 (authorizationAllowed) 10 (authorizationDisallowed) 11 (freeOfCharge) 12 (suspended) The last order status that indicates whether the order has been paid or not. |
paymentMethod | integer Enum: 0 (online) 1 (bankTransfer) 2 (cash) 3 (cash) 4 (gift) 5 (none) 6 (paymentCard) 11 (test) 12 (terminal) The payment method that has been used to pay for this order. |
orderStatus | integer Enum: 0 (pending) 1 (paid) 2 (unpaid) 3 (cancelled) 4 (rejected) 5 (awaiting) 6 (void) 7 (scheduled) 8 (failed) 9 (authorizationAllowed) 10 (authorizationDisallowed) 11 (freeOfCharge) 12 (suspended) The last order status that indicates whether the order has been paid or not. |
paymentMethod | integer Enum: 0 (online) 1 (bankTransfer) 2 (cash) 3 (cash) 4 (gift) 5 (none) 6 (paymentCard) 11 (test) 12 (terminal) The payment method that has been used to pay for this order. |
paidAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total paid amount for the order. |
dueAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total due amount for the order. |
discountRate | decimal A decimal number indicating discount rate (0.2 for 20%, 1.0 for 100%). |
paymentDueAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time by which the order should be paid. |
paidAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been paid. |
object Default: null | |
voidedAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been voided. |
object Default: null | |
object Client object attached to the order. | |
Array of objects (ClientOrderItem) Item objects purchased along with the order. | |
totalPrice | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total price of the order. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "orderStatus": 1,
- "paymentMethod": 0
}
{- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
This call returns the client order.
clientOrder required | string <guid> The guid of the ClientOrder to return. |
orderStatus | integer Enum: 0 (pending) 1 (paid) 2 (unpaid) 3 (cancelled) 4 (rejected) 5 (awaiting) 6 (void) 7 (scheduled) 8 (failed) 9 (authorizationAllowed) 10 (authorizationDisallowed) 11 (freeOfCharge) 12 (suspended) The last order status that indicates whether the order has been paid or not. |
paymentMethod | integer Enum: 0 (online) 1 (bankTransfer) 2 (cash) 3 (cash) 4 (gift) 5 (none) 6 (paymentCard) 11 (test) 12 (terminal) The payment method that has been used to pay for this order. |
paidAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total paid amount for the order. |
dueAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total due amount for the order. |
discountRate | decimal A decimal number indicating discount rate (0.2 for 20%, 1.0 for 100%). |
paymentDueAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time by which the order should be paid. |
paidAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been paid. |
object Default: null | |
voidedAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been voided. |
object Default: null | |
object Client object attached to the order. | |
Array of objects (ClientOrderItem) Item objects purchased along with the order. | |
totalPrice | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total price of the order. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
This call returns all client pricing options.
user required | string <guid> The guid of the User the returned client pricing options belong to. |
sortField | string Default: createdAt Value: (all properties) Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
status | string Default: null Enum: active inactive notActivated active,notActivated You can filter out collection based on the given status. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (ClientPricingOption) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "remain": "4",
- "sessionType": "4",
- "expiresAt": "2023-08-31T21:59:59+02:00",
- "activatedAt": "2023-08-01T22:00:00+02:00",
- "isUnpaid": false,
- "isShared": false,
- "qualifiedName": "Yoga pass 8x",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call returns all studio locations.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (Location) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "name": "Circle place",
- "type": "facility",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call returns all studio staff members.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
iamRole | string Default: null Enum: lb:iam_role:manager lb:iam_role:teacher lb:iam_role:host Filters out the collection based on the given IAM role. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (Member) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "nickname": "Mark the Teacher",
- "publicBiography": "Mark is one of the best Yoga teachers...",
- "birthdayAt": "1974-09-17T22:00:00+02:00",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "qualifiedName": "Mark the Teacher"
}
]
}
With this call you will be able to checkout contracts.
object Root property describing retail payload. |
name | string A name of the contract. |
startsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract starts (expressed in ISO 8601 format). |
endsAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract ends (expressed in ISO 8601 format). |
terminatedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the contract has been terminated (expressed in ISO 8601 format). |
terminatedFrom | datetime <Y-m-d\TH:i:s\Z> Time from which the contract will become terminated (expressed in ISO 8601 format). |
terminationReason | text The reason why the contract has been terminated. |
object Client object attached to the contract. | |
Array of objects (ClientContractInstalment) A list of contract instalments. | |
nextPaymentAt | datetime <Y-m-d\TH:i:s\Z> Time at which next payment is scheduled (expressed in ISO 8601 format). |
nextChargeAmount | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the next scheduled charge amount. |
minInstalmentCountToAllowTermination | integer A minimum number of instalments after which the contract can be terminated. No value means it can be terminated anytime. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "retail": {
- "paidAmount": 1250,
- "contracts": [
- {
- "guid": "37E96AEF-A1DA-4A41-9A56-A64F661A32BF",
- "name": "My contract",
- "startDate": "2020-03-11",
- "privateNotes": "The payment was made via website"
}
]
}
}
[- {
- "name": "1 Year Contract",
- "startsAt": "2019-06-01T22:00:00+02:00",
- "endsAt": "2020-05-31T21:59:59+02:00",
- "terminatedAt": "2020-10-02T22:00:00+02:00",
- "terminatedFrom": "2020-10-02T22:00:00+02:00",
- "terminationReason": "Moving out to different country",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "instalments": [
- {
- "status": "scheduled",
- "scheduledAt": "2019-05-12T22:00:00+02:00",
- "endsAt": "2019-06-12T21:59:59+02:00",
- "suspensionReason": "Holiday season",
- "clientOrder": {
- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "hasStarted": true,
- "hasEnded": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "nextPaymentAt": "2020-10-02T22:00:00+02:00",
- "nextChargeAmount": "8000",
- "minInstalmentCountToAllowTermination": "3",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
With this call you will be able to checkout pricing options, payment options or products.
object Root property describing retail payload. |
orderStatus | integer Enum: 0 (pending) 1 (paid) 2 (unpaid) 3 (cancelled) 4 (rejected) 5 (awaiting) 6 (void) 7 (scheduled) 8 (failed) 9 (authorizationAllowed) 10 (authorizationDisallowed) 11 (freeOfCharge) 12 (suspended) The last order status that indicates whether the order has been paid or not. |
paymentMethod | integer Enum: 0 (online) 1 (bankTransfer) 2 (cash) 3 (cash) 4 (gift) 5 (none) 6 (paymentCard) 11 (test) 12 (terminal) The payment method that has been used to pay for this order. |
paidAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total paid amount for the order. |
dueAmount | decimal A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total due amount for the order. |
discountRate | decimal A decimal number indicating discount rate (0.2 for 20%, 1.0 for 100%). |
paymentDueAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time by which the order should be paid. |
paidAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been paid. |
object Default: null | |
voidedAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the order has been voided. |
object Default: null | |
object Client object attached to the order. | |
Array of objects (ClientOrderItem) Item objects purchased along with the order. | |
totalPrice | integer A positive integer in the smallest currency unit (100 cents for 1 EUR) representing the total price of the order. |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "retail": {
- "paidAmount": 1250,
- "orders": [
- {
- "qualifiedName": 1,
- "orderStatus": 1,
- "discount": {
- "type": 1,
- "amount": 25
}, - "privateNotes": "The payment was made via website",
- "pricingOptions": [
- {
- "guid": "FFA73DC2-2A6F-442A-AB8E-6444BAF0188D",
- "name": "My pass",
- "price": 1175
}
], - "paymentOptions": [
- {
- "guid": "0F5A4FA5-B394-48A4-B20F-6974EED8C076",
- "name": "My payment",
- "price": 870
}
], - "products": [
- {
- "guid": "AB370858-C5B6-4887-A3CF-45CED74E4667",
- "name": "My product",
- "price": 870
}
]
}
]
}
}
[- {
- "orderStatus": 1,
- "paymentMethod": 0,
- "paidAmount": 1750,
- "dueAmount": 0,
- "discountRate": 0,
- "paymentDueAt": null,
- "paidAt": null,
- "paidBy": null,
- "voidedAt": null,
- "voidedBy": null,
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "clientOrderItems": [
- {
- "name": "Yoga Card x4",
- "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
], - "totalPrice": 1750,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
With this call you will be able to add new user payment card using existing token.
Use this endpoint only if you have already created token using a payment provider.
user required | string <guid> The guid of the User to which you want to attach the payment card. |
type required | string Enum: creditcard directDebit The type of the payment card. |
paymentGateway required | string Enum: imoje mollie espago The payment gateway used to create the payment card. |
issuer | string Enum: visa mastercard The issuer name of the payment card. |
token required | string The token received from payment gateway that allows you to charge user's payment card. |
holder | string The holder name of the payment card. |
pan | string Last four digits of the payment card number. |
expiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the payment card expires (expressed in ISO 8601 format). |
type | string Enum: creditcard directDebit The type of the payment card. |
paymentGateway | string Enum: imoje mollie espago The payment gateway used to create the payment card. |
issuer | string Enum: visa mastercard The issuer name of the payment card. |
token | string The token received from payment gateway that allows you to charge user's payment card. |
holder | string The holder name of the payment card. |
pan | string Last four digits of the payment card number. |
expiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the payment card expires (expressed in ISO 8601 format). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "user": "{guid}",
- "type": "creditcard",
- "paymentGateway": "mollie",
- "issuer": "visa",
- "token": "QSuC6orAxSBUUJgKMYu8h7rILk",
- "holder": "Jane Doe",
- "pan": "6789",
- "expiresAt": "2024-04-01T00:00:00+02:00"
}
{- "type": "creditcard",
- "paymentGateway": "mollie",
- "issuer": "visa",
- "token": "QSuC6orAxSBUUJgKMYu8h7rILk",
- "holder": "Jane Doe",
- "pan": "6789",
- "expiresAt": "2024-04-01T00:00:00+02:00",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
With this call you will be able to add new SEPA Direct Debit mandate for the user's wallet using available payment gateways.
user required | string <guid> The guid of the User to which you want to attach the payment card. |
paymentGateway required | string Value: mollie Select payment gateway you want to add a mandate to. Currently SEPA Direct Debit payments are supported by Mollie only. |
bankAccountHolder required | string The bank account holder name. |
bankAccountNumber required | string The bank account number in IBAN format. |
type | string Enum: creditcard directDebit The type of the payment card. |
paymentGateway | string Enum: imoje mollie espago The payment gateway used to create the payment card. |
issuer | string Enum: visa mastercard The issuer name of the payment card. |
token | string The token received from payment gateway that allows you to charge user's payment card. |
holder | string The holder name of the payment card. |
pan | string Last four digits of the payment card number. |
expiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null Time at which the payment card expires (expressed in ISO 8601 format). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "user": "{guid}",
- "paymentGateway": "mollie",
- "bankAccountHolder": "Johathan Smith",
- "bankAccountNumber": "NL21INGB3730976796"
}
{- "type": "creditcard",
- "paymentGateway": "mollie",
- "issuer": "visa",
- "token": "QSuC6orAxSBUUJgKMYu8h7rILk",
- "holder": "Jane Doe",
- "pan": "6789",
- "expiresAt": "2024-04-01T00:00:00+02:00",
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
This call returns all studio pricing options.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (PaymentOption) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "name": "Physical card fee",
- "price": 500,
- "taxRate": 1.23,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call returns all studio pricing options.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (Product) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "name": "Yoga mat",
- "description": "Best looking mat for your yoga poses",
- "sku": "K42SF92919",
- "price": 34200,
- "taxRate": 1.23,
- "stock": 134,
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call returns all studio contracts.
sortField | string Default: createdAt Value: createdAt Determines by which field the collection should be sorted on. |
sortDir | string Default: asc Enum: asc desc Determines the sort order for the collection. |
page | number Default: 1 Determines the current page number of the collection. |
count | number Default: 1 Determines how many items should be returned in the collection. |
pages | integer The number of pages for the given collection. |
totalCount | integer The total number of items returned in the given collection. |
object An object describing the current page. | |
Array of objects (Contract) |
{- "pages": 1,
- "totalCount": 22,
- "currentPage": {
- "count": 1,
- "firstCount": 0,
- "lastCount": 10
}, - "collection": [
- {
- "name": "One Year Contract",
- "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}, - "preSaleInfo": "Must agree to terms and conditions",
- "instalments": { },
- "isSoldOnline": true,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
}
This call allows you to authenticate user credentials.
username required | string The username used to login. |
password required | string The password used to login. |
emailAddress | string An unique user's email address. |
firstName | string The user's first name. |
lastName | string The user's last name. |
sex | integer Default: 1 Enum: 0 (male) 1 (female) The user's gender. |
suspensionType | integer Default: null Enum: 0 (booking) 1 (login) If not null, returns information about what type of suspension has been set on user's account. |
isSuspended | boolean Default: false Determines whether the user's account is suspended or not. |
suspendedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been suspended. |
suspensionExpiresAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account will be automatically released from suspension. |
suspensionReason | string Default: null Additional reason of why user's account has been suspended. |
isLoginEnabled | boolean Default: true Determines whether the user's login possibility is enabled or not. |
activatedAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user's account has been activated (mostly via activation link in the email). |
lastSeenAt | datetime <Y-m-d\TH:i:s\Z> Default: null The time at which user was logged in to FrontOffice for the last time. |
object Attached when user is a | |
fullName | string The user's first ane last name combined into one field. |
hasAndroidApp | boolean Default: false Determines whether user is using Android app (Fitssey free app or Fitssey premium app). |
hasIosApp | boolean Default: false Determines whether user is using iOS app (Fitssey free app or Fitssey premium app). |
guid | string <guid> = 36 characters Globally unique identifier. |
createdAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was created (expressed in ISO 8601 format). |
modifiedAt | datetime <Y-m-d\TH:i:s\Z> Time at which the object was modified (expressed in ISO 8601 format). If never modified it will equal date of creation. |
{- "password": "verystrongpassword1234"
}
[- {
- "firstName": "Monica",
- "lastName": "Dvorak",
- "sex": 1,
- "suspensionType": 1,
- "isSuspended": false,
- "suspendedAt": "2019-09-10T15:31:47+02:00",
- "suspensionExpiresAt": "2019-09-17T15:31:47+02:00",
- "suspensionReason": "Suspended due to many cancellations",
- "isLoginEnabled": true,
- "activatedAt": "2019-09-01T12:02:35+02:00",
- "lastSeenAt": "2019-09-03T09:54:12+02:00",
- "client": {
- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}, - "fullName": "Luna The Cat",
- "hasAndroidApp": false,
- "hasIosApp": false,
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}
]
This call returns the user.
user required | string <guid> The guid of the User to return. |
uuid | string Client's public and unique ID. |
object (agreements) A list of agreements given by the client. | |
birthdayAt | datetime <Y-m-d\TH:i:s\Z> Default: null The client's birthdate. |
lastActiveAt | datetime <Y-m-d H:i:s> The last time at which client made one of the following actions: |
object The object describing client's postal address. | |
object The object describing client's available phone numbers. | |
object An uploaded image displayed in client's profile (FrontOffice and BackOffice). |
{- "uuid": "1000072",
- "agreements": {
- "newsletter": false,
- "privacyPolicy": false,
- "termsOfUse": false
}, - "birthdayAt": "1980-01-19T23:00:00+01:00",
- "lastActiveAt": "2019-09-03T08:06:23+02:00",
- "address": {
- "street": "Sunny street 77a",
- "postalCode": "1234AB",
- "city": "Amsterdam",
- "countryCode": "NL",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "phone": {
- "primaryPhone": "+48111222333",
- "createdAt": "2019-05-12T12:45:47+02:00",
- "modifiedAt": "2023-09-12T19:18:23+02:00"
}, - "picture": {
- "guid": "364F59AB-5B43-4D02-989E-AE2811422709"
}
}
curl -v -X GET https://app.fitssey.com/{uuid}/api/v4/public/ping \ -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
{- "error": {
- "statusCode": 403,
- "code": 103,
- "message": "Invalid API key"
}
}