Skip to content

PerfectGym Next API (1.20.0)

  • 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

Get customer's transactions in slices

Request

Required Scopes: CUSTOMER_ACCOUNT_READ

Returns customer's transactions within the given date range. Past transactions include payment information if a payment has been made.

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

Query
startDatestring(date)required

Start date of the transaction date range (inclusive)

endDatestring(date)required

End date of the transaction date range (inclusive). Maximum range between startDate and endDate is 365 days.

sliceSizeinteger(int32)[ 1 .. 50 ]

Desired size of data chunk

Default 10
offsetstring

Offset from last request

Default "0"
curl -i -X GET \
  'https://open-api-demo.open-api.perfectgym.com/v1/customers/{customerId}/transactions?startDate=2019-08-24&endDate=2019-08-24&sliceSize=10&offset=0' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
resultArray of objects(UnifiedBookingTransactionEntry)required

List of booking entries

result[].​idinteger(int64)required

The internal id of the entry

result[].​dueDatestring(date)required

Date to booking is/was to be paid

result[].​descriptionstring

Description of the booking

result[].​installmentPlanbooleanrequired

Whether or not the booking was transferred into an installment plan

result[].​chargeTypestringrequired

Represents the classification of the charge

Enum ValueDescription
IDLE_PERIOD_CHARGE

Charge for a freeze period

CREDIT

Credit from a freeze period

STARTER_PACKAGE

Initial package or starter kit charge

FLAT_FEE

One-time or recurring flat fee for additional services or products

CHARGED_BACK_FEE

Fee for chargeback processing

DEBT_CLAIM_REDUCTION

Reduction of an existing debt claim

DAMAGE_COMPENSATION

Compensation for damages or losses

CANCELATION_FEE

Fee for canceling a service or contract

MODULE_FEE

One-time or recurring module fee for additional services or products

SALES_DIRECT_DEBIT

Sale transaction via direct debit payment

Example: "MEMBERSHIP_CHARGE"
result[].​paidPeriodFromstring(date)

Start date of the service period (if applicable)

Example: "2025-01-01"
result[].​paidPeriodTostring(date)

End date of the service period (if applicable)

Example: "2025-01-31"
result[].​amountobject(PriceWithDetails)

Total amount of the booking entry after price adjustments, including taxes

result[].​openAmountobject(PriceWithDetails)

Remaining unpaid amount of the booking entry

result[].​originalAmountobject(PriceWithDetails)

Original amount before any price adjustments (e.g. discounts) were applied

result[].​priceAdjustmentsArray of objects(BookingEntryPriceAdjustment)

List of price adjustments applied to the booking entry

result[].​paymentTransactionobject(BookingEntryPaymentTransaction)

Payment transaction associated with the booking entry, if a payment has been made

result[].​mainContractIdinteger(int64)

ID of the main contract associated with the booking entry, if the booking is linked to any contract

Example: 123
result[].​subContractIdinteger(int64)

ID of the sub-contract associated with the booking entry, if the booking is linked to a sub-contract

Example: 321
hasNextbooleanrequired

True if there exists next data slice

Example: true
offsetstringrequired

Offset for next query

Example: "1234567890"
Response
application/json
{ "result": [ {} ], "hasNext": true, "offset": "1234567890" }

Get a preview of future debt claims for a customer's contract

Request

Required Scopes: CUSTOMER_ACCOUNT_READ

Returns a preview of upcoming debt claims that will be generated for a customer's contract, including price adjustments and tax details.

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

contractIdinteger(int64)required

Unique ID of the contract

curl -i -X GET \
  'https://open-api-demo.open-api.perfectgym.com/v1/customers/{customerId}/transactions/{contractId}/preview' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
contractIdinteger(int64)

ID of the contract

Example: 12345
customerAccountBalanceobject(Money)

Represents a financial data

itemsArray of objects(FutureDebtClaimPreviewItem)

List of future debt claim items

Response
application/json
{ "contractId": 12345, "customerAccountBalance": { "amount": 20, "currency": "EUR" }, "items": [ {} ] }
Operations
Operations
Operations
Operations
Operations

Membership Self-service

Manage membership contracts

Operations
Operations

Online offers

Online offer operations

Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations