Back to GymMaster Software

Gatekeeper API

Base URL: /gatekeeper_api/v2, Version: 2.0.0

Gatekeeper API Documentation

Default response content-types: application/json
Schemes: https

Summary

Path Operation Description
/doors GET

Synchronise doors settings

/members GET

Synchronise members

/membershiptypes GET

Synchronise membershiptypes

/system GET

Synchronise system settings

/time GET

Synchronise system time

Paths

Synchronise doors settings

GET /doors

This provides all the information about the doors.

Uses default content-types: application/json

200 OK

successful response

doors: object[]

The doors list

error: string

Error message in case of an error

Synchronise members

GET /members

This end point shows all the members that have got tags as well as the memberships that that the members have, this shows member and membership specific data (.e.g member owing amount, start date, end date, visit count, tag serial).

memberid

The specified member's ID for synchronisation

query integer
timestamp

The timestamp from the last synchronisation's lastsync, none means full synchronisation

query number
page

The current page number, start from 0 (default 0)

query integer

Uses default content-types: application/json

200 OK

successful response

members: object[]

The membership types list

lastsync: number

The timestamp for this synchronisation, should be used as timestamp parameters next time

hasmore: boolean

Has more members to load?

error: string

Error message in case of an error

Synchronise membershiptypes

GET /membershiptypes

This end point lists all the programmes/membership types that a member can have assigned to them. programmes/membershiptypes provide all the details and limitations for access to doors.

Uses default content-types: application/json

200 OK

successful response

doors: object[]

The membership types list

error: string

Error message in case of an error

Synchronise system settings

GET /system

This shows database configuration type data that is system wide (e.g. site independent) this includes open hours of gyms, warning limits, GymMaster version number, etc.

Uses default content-types: application/json

200 OK

successful response

Synchronise system time

GET /time

This shows the database current time configuration, an example of this is the database timezone as well as the current time.

Uses default content-types: application/json

200 OK

successful response

Schema definitions

Date: object

year: integer

Year

month: integer

Month

day: integer

Day

Door: object

booking_checkin: integer

whether the access should be checked automatically into a booking, 0 false, else true

checkout: boolean

whether is a checkout only door

companyid: integer

the companyid of the door

concessionhandling: boolean

whether the door counts concession when used

door_sublocation: string

unused

exit_door_id: integer

doorid of the exit door

gatekeeper: integer

the id of the gatekeeper that controls the door

id: integer

the id of the door

lastupdate: Timestamp

the last update timestamp for the door record

mac_address: string

mac address of associated gatekeeper

name: string

door name

optional_args: string

override arguments for the door software

reader_type: string

type of reader used

resourceid: integer

ID of the resource associated with the door

restricted_door: boolean

whether the door has restricted access

sentry_com_port: string

gatekeeper socket for the reader

sentry_ip_address: string

IP address of network reader

sentry_mac_address: string

mac address of network reader

showlastvisits: boolean

Show swipes in the visitor log

siteid: integer

the site id of the door

status: integer

current status of the door

update_user_name: string

username of last update user

womenonly: boolean

is the door female only

Member: object

card: object[]

List of the cards that the member has (is the same as tag)

object
cardid: integer

ID of the cards (is the same as tagid)

cardserial: string

Serials of the cards (is the same as the tagserial)

gender: string

gender of the member, M=Male, F=Female

memberid: integer

the ID of the member

membership: object[]

A list of the members' memberships

object
accountid: integer

the membership account

balance: string

The balance of the member account.

concession: integer

The number of visits the member has made

startdate: Date

The start date of the membership

enddate: Date

The end date of the membership

expired: boolean

Whether the membership is expired

incomplete: boolean

Whether the membership has been completed

membershipid: integer

The ID of the membership

membershiptypeid: integer

The ID of the membership type.

refreshdate: Date

The day the balance of the account gets refreshed.

tagid: integer

The ID of the tag.

tagserial: string

The serial of the tag

tagserial_short: string

The short version of the tag.

name: string

The name of the member.

owe: number

The amount the member owes.

owingdeadline: Date

The date that the member has to pay the owing amount by (e.g. is allowed in, even if owing is above the stop threshold, up to the date specified)

siteid: integer

The site that the member belongs to.

stopatgate: boolean

Whether a stop at gate task is active

MembershipType: object

basis: string

The membership type basis name

basisid: integer

the membership type basis id

benefitenabled: boolean

whether the membership type is using the benefit system

concessionlimit: integer

Specifies a lmit on how many concessions are used

door: object[]

specifies a list of doors that the membership type has access to

object
doorid: integer

doorid of the membership type?

id: integer

the benefit ID

programmeid: integer

The ID of the membership type.

rosterid: integer

The ID of the roster associated with the door access times

membershiptypeid: integer

the membership type id

mulitisite: boolean

Specifies if this membership type has multisite access

name: string

Name of the membership type

priority: integer

The priority of the membership

siteid: integer

The ID of the site the membership belongs to

RosterTime: object

name: string

Name of roster

rosterid: integer

Roster ID

siteid: integer

Site ID

dow: integer

Day of the week. 0 is Sunday and 6 is Saturday

starttime: Time

Roster start time

endtime: Time

Roster end time

SystemInfo: object

multiclub_hostlist: string

The website host for the other clubs, separated by commas

roster: object[]

contains the roster defining the hours of the gym

schemaversion: integer

The GymMaster Database Version.

stop: string

Stop on owe amount. If the member owes over this value than deny them from entering. (w/ currency symbol)

stop_incomplete: boolean

Whether to stop members with incomplete memberships.

warn: string

warn on owe amount. If the member owes more than this value, warn them at the gate. (w/ currency symbol)

Time: object

hour: integer

Hour of day

minute: integer

Minute

second: integer

Second

microsecond: integer

Microsecond

TimeInfo: object

current_date: string

Current date of the datebase

current_time: string

Current time of the database

dow: integer

Current day of the week

epoch: number

Seconds since the unix epoch

ts: string

Current timestamp

Timestamp: object

year: integer

Year

month: integer

Month

day: integer

Day

hour: integer

Hour of day

minute: integer

Minute

second: integer

Second

microsecond: integer

Microsecond

Back to GymMaster Software