Skip to content

PerfectGym Next API (1.20.1)

  • Appointment, bookable appointment and slots operations
  • Redeem checkin vouchers
  • Class and slots operations
  • Cross studio operations
  • Get customers and contracts
  • Retrieve customer accounting details
  • Retrieve customer communication details
  • Retrieve customer transaction details
  • Get device information
  • Employee operations
  • Debt collection operations
  • Leads operations
  • Get member lists
  • Manage membership contracts
  • Membership operations
  • Online offer operations
  • Payment operations
  • Get studio information
  • Get trial offers information
Download OpenAPI description
Languages
Servers
Demo tenant

https://open-api-demo.open-api.perfectgym.com/

Mock server

https://redocly.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/

Appointments

Appointment, bookable appointment and slots operations

Operations

Checkin vouchers

Redeem checkin vouchers

Operations
Operations

Cross Studio

Cross studio operations

Operations

Customers

Get customers and contracts

Operations

Customers Account

Retrieve customer accounting details

Operations

Customers Communication

Retrieve customer communication details

Operations
Operations

Customers Transactions

Retrieve customer transaction details

Operations
Operations
Operations
Operations
Operations
Operations

Membership Self-service

Manage membership contracts

Operations

Purchase an additional module contract

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_ADDITIONAL_MODULE_CONTRACT_WRITE

Purchase an additional module contract

Security
ApiKeyAuth
Path
contractIdinteger(int64)required

Unique ID of the main contract

Bodyapplication/jsonrequired
additionalModuleIdinteger(int64)required

Unique ID of the additional module

Example: 203
paymentFrequencyIdinteger(int64)required

Unique ID of the payment frequency of the additional module

Example: 203
bookTrialPeriodbooleanrequired

Describes whether a trial period should be booked. The additional module must contain a valid trial period configuration, if set to true

Example: true
curl -i -X POST \
  'https://open-api-demo.open-api.perfectgym.com/v1/memberships/{contractId}/self-service/additional-modules/purchase' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "additionalModuleId": 203,
    "paymentFrequencyId": 203,
    "bookTrialPeriod": true
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)

Unique ID of the additional module contract

Example: 1001
Response
application/json
{ "id": 1001 }

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_ADDITIONAL_MODULE_CONTRACT_READ

Get an additional module contract via additional module contract id

Security
ApiKeyAuth
Path
contractIdinteger(int64)required

Unique ID of the main contract

additionalModuleContractIdinteger(int64)required

Unique ID of the additional module contract

curl -i -X GET \
  'https://open-api-demo.open-api.perfectgym.com/v1/memberships/{contractId}/self-service/additional-module-contracts/{additionalModuleContractId}' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
namestringrequired

Name of the additional module contract

Example: "drink flat"
priceobject(Money)required

Represents a financial data

price.​amountnumberrequired

Amount of the finance data tuple

Example: 20
price.​currencystring(ISO 4217)required

Currency of the finance data tuple

Example: "EUR"
startDatestring(date)required

Start date of the additional module contract

Example: "2022-01-15"
endDatestring(date)

End date of the additional module contract

Example: "2022-01-15"
cancelationDatestring(date)

Cancelation date of the additional module contract

Example: "2022-01-15"
lastPossibleCancelationDatestring(date)

Last possible cancelation date of the additional module contract. Not set for RECEIPT_DATE cancelation strategy when the contract has more than one term.

Example: "2022-01-15"
cancelationReasonstring

Represents the reason of a contract cancelation

Example: "Illness"
contractCancelationStatusstring

Cancelation status of the contract cancelation

Enum ValueDescription
PENDING_WITHDRAWAL_VERIFICATION

The cancelation withdrawal is pending verification.

CANCELED

The contract was canceled by the customer.

PENDING_VERIFICATION

The cancelation is pending verification.

Example: "PENDING_VERIFICATION"
contractCancelationCanBeWithdrawnbooleanrequired

Whether a contract cancelation for the additional module contract can be withdrawn

Example: true
trialPeriodobject(AdditionalModuleContractTrialPeriod)

Represents the trial period of an additional module

rateCodesArray of objects(RateCode)

Rate codes of this contract

cancelationStrategystringrequired

Cancelation strategy of the contract

Enum ValueDescription
RECEIPT_DATE

Contract can be canceled at any time with a notice period. availableCancelationDates[0] is the earliest possible cancelation date (today + notice period). lastPossibleCancelationDate is not set for this strategy when the contract has more than one term.

TERM

Contract can only be canceled to the end of a contract term. lastPossibleCancelationDate indicates the deadline by which notice must be given. availableCancelationDates lists the possible term-end dates.

Example: "TERM"
availableCancelationDatesArray of strings(date)
Response
application/json
{ "name": "drink flat", "price": { "amount": 20, "currency": "EUR" }, "startDate": "2022-01-15", "endDate": "2022-01-15", "cancelationDate": "2022-01-15", "lastPossibleCancelationDate": "2022-01-15", "cancelationReason": "Illness", "contractCancelationStatus": "PENDING_VERIFICATION", "contractCancelationCanBeWithdrawn": true, "trialPeriod": { "term": {}, "startDate": "2022-01-15", "endDate": "2022-01-28" }, "rateCodes": [ {} ], "cancelationStrategy": "TERM", "availableCancelationDates": [ "2019-08-24" ] }

Create additional module contract cancelation amendment

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_ADDITIONAL_MODULE_CONTRACT_WRITE

Creates additional module contract cancelation amendment for specified contract id and additional module contract id

Security
ApiKeyAuth
Path
contractIdinteger(int64)required

Unique ID of the main contract

additionalModuleContractIdinteger(int64)required

Unique ID of the additional module contract

Bodyapplication/jsonrequired
cancelationDatestring(date)required

Date the contract should be canceled to

Example: "2023-01-25"
cancelationReasonIdinteger(int64)required

Id of the reason why the contract is canceled

Example: 1234
curl -i -X POST \
  'https://open-api-demo.open-api.perfectgym.com/v1/memberships/{contractId}/self-service/additional-module-contracts/{additionalModuleContractId}/ordinary-cancelation' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "cancelationDate": "2023-01-25",
    "cancelationReasonId": 1234
  }'

Responses

OK

Bodyapplication/json
successstring
Response
application/json
{ "success": "string" }
Operations

Online offers

Online offer operations

Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations