Schedule

Table of contents

Entry point

<instance-url>/api/<endpoint>
example:
https://trancend.dev/api/schedule


Getting clubs

Returns clubs data in a serialized format

GET /clubs

Request

 Click here to expand...


Request

Endpoint: /clubs

Method: GET

Headers:

 Click here to expand...
Header nameValue
Content-Type
multipart/form-data
X-Requested-With
XMLHttpRequest

Parameters:

 Click here to expand...
ParameterRequiredTypeDescription
name
NO
StringUsed for searching for a specific club
limitNOIntegerNumber of records to be returned (default: 10)
pageNOIntegerPage for records (default: 1)
no_limitNOBooleanIgnore limit and page and return all records (default: false)

Response

 Click here to expand...


Response

Http Code

Response

Description

200

 Click here to expand...
Success response
 {
    "rows": [
        {
            "id": 1,
            "cell": {
                "actions": 1,
                "name": "Club 1",
                "max_book_per_day": 5,
                "max_waitlist": 10,
                "book_days_advance": 7,
                "pos": "Manual (fara casa de marcat)"
            }
        }
    ],
    "records": 1,
    "page": 1,
    "total": 1
}

Success response

Object description:

Base object:

Object propertyDescription
rowsEach club is a row
recordsNumber of total records
pageCurrent page
totalTotal number of pages

Row object:

Object propertyDescription
idThe ID of the club
cellContains the club data

Cell object

Object propertyDescription
actionsThe ID of the club. Used for front end rendering in some cases
nameClub name
max_book_per_dayMaximum number of classes that can be booked by one person in that day
max_waitlistMaximum number of waitlist sports for each class
book_days_advanceDays in advance for booking a class
posPoint of sell type

422

 Click here to expand...
Error response
{
  "success": 0
}

Error



Getting studios

Returns studios for a certain club

GET /studios

Request

 Click here to expand...


Request

Endpoint: /studios

Method: GET

Headers:

 Click here to expand...
Header nameValue
Content-Type
multipart/form-data
X-Requested-With
XMLHttpRequest

Parameters:

 Click here to expand...
ParameterRequiredTypeDescription
name
NO
StringUsed for searching for a specific club
club_idNOIntegerID of the belonging club (got from /clubs endpoint)
limitNOIntegerNumber of records to be returned (default: 10)
pageNOIntegerPage for records (default: 1)
no_limitNOBooleanIgnore limit and page and return all records (default: false)

Response

 Click here to expand...


Response

Http Code

Response

Description

200

 Click here to expand...
Success response
 {
    "rows": [
        {
            "id": 1,
            "cell": {
                "actions": 1,
                "name": "Cycling",
                "club_id": 1,
                "cycling_places": 10,
                "max_book_per_day": 5,
                "max_waitlist": 10,
                "book_days_advance": 2
            }
        }
    ],
    "records": 1,
    "page": 1,
    "total": 1
}

Success response

Object description:

Base object:

Object propertyDescription
rowsEach studio is a row
recordsNumber of total records
pageCurrent page
totalTotal number of pages

Row object:

Object propertyDescription
idThe ID of the club
cellContains the club data

Cell object

Object propertyDescription
actionsThe ID of the club. Used for front end rendering in some cases
nameStudio name
club_idThe club ID to which it belongs to
cycling_placesNumber of cycling places
max_book_per_day

Maximum number of classes that can be booked by one person in that day

This overrides the club setting

max_waitlist

Maximum number of waitlist sports for each class

This overrides the club setting

book_days_advance

Days in advance for booking a class

This overrides the club setting

422

 Click here to expand...
Error response
{
  "success": 0
}

Error



Getting schedule data

Returns schedule data in a serialized format

GET /schedule

Request

 Click here to expand...


Request

Endpoint: /schedule

Method: GET

Headers:

 Click here to expand...
Header nameValue
Content-Type
multipart/form-data
X-Requested-With
XMLHttpRequest

Parameters:

 Click here to expand...
ParameterRequiredTypeDescription
start_date
NO
DateDate of format "Y-m-d" (example: 2018-01-30)
end_dateNODateDate of format "Y-m-d" (example: 2018-01-30)
club_idNOIntegerID of club
studio_idNOIntegerID of studio

Response

 Click here to expand...


Response

Http Code

Response

Description

200

 Click here to expand...
Success response
{
    "success": 1,
    "days": {
        "monday": {
            "classes": {
                "21:00": [
                    {
                        "interval": "21:00 - 21:20",
                        "name": "Test clasa",
                        "date": "2018-02-26 21:00",
                        "date_readable": "26/02/2018",
                        "duration": 20,
                        "studio": "Cycling",
                        "time": "21:00",
                        "club": "Club 1",
                        "trainer": "trainer",
                        "can_confirm": true,
                        "id": 2,
                        "can_edit": false,
                        "can_book": false,
                        "color": "#222222",
                        "color_text": "#ffffff",
                        "max_booking": 30,
                        "no_booked": 0,
                        "x_type": 2
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "tuesday": {
            "classes": {
                "17:00": [
                    {
                        "interval": "17:00 - 17:23",
                        "name": "Clasa",
                        "date": "2018-02-27 17:00",
                        "date_readable": "27/02/2018",
                        "duration": 23,
                        "studio": "Cycling",
                        "time": "17:00",
                        "club": "Club 1",
                        "trainer": "trainer",
                        "can_confirm": false,
                        "id": 3,
                        "can_edit": false,
                        "can_book": false,
                        "color": "#222222",
                        "color_text": "#ffffff",
                        "max_booking": 12,
                        "no_booked": 0,
                        "x_type": 2
                    }
                ],
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "wednesday": {
            "classes": {
                "12:00": [
                    {
                        "interval": "12:00 - 12:20",
                        "name": "Clasa waitlist",
                        "date": "2018-02-28 12:00",
                        "date_readable": "28/02/2018",
                        "duration": 20,
                        "studio": "Cycling",
                        "time": "12:00",
                        "club": "Club 1",
                        "trainer": "trainer",
                        "can_confirm": false,
                        "id": 4,
                        "can_edit": false,
                        "can_book": false,
                        "color": "#222222",
                        "color_text": "#ffffff",
                        "max_booking": 32,
                        "no_booked": 0,
                        "x_type": 2
                    }
                ],
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "thursday": {
            "classes": {
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "friday": {
            "classes": {
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "saturday": {
            "classes": {
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        },
        "sunday": {
            "classes": {
                "21:00": [
                    {
                        "name": "filler",
                        "time": "21:00",
                        "x_type": 1
                    }
                ],
                "17:00": [
                    {
                        "name": "filler",
                        "time": "17:00",
                        "x_type": 1
                    }
                ],
                "12:00": [
                    {
                        "name": "filler",
                        "time": "12:00",
                        "x_type": 1
                    }
                ]
            }
        }
    },
    "time": [
        {
            "time": "21:00"
        },
        {
            "time": "17:00"
        },
        {
            "time": "12:00"
        }
    ]
}

Success response

Object description:

Base object:

Object propertyDescription
successIndicates if the call was successful
daysObject containing each day (monday, tuesday, etc)
timeArray of times which are used in that interval

Classes object:

Array which has as keys the time and as values an array of class description objects

Object propertyDescription
intervalThe interval in which the class is taking place
nameClass name
dateRaw date
date_readableHuman readable date
durationDuration of the class (in minutes)
studioStudio name
timeTime when the class starts
clubClub name
trainerTrainer name
can_confirmUsed by admins, indicates if bookings can be confirmed
idclass unique ID
can_editUsed by admins, indicates if the class can be edited
can_bookUsed by members, indicates if the class can still be booked
colorBackground color of the class (used for schedule styling)
color_textColor of the text of the class (used by schedule styling)
max_bookingMaximum number of participants
no_bookedNumber of participants already booked
x_type

Indicates if the class is a real one or filler:

  • 1 - filler
  • 2 - real class

This is only used for styling the schedule

422

 Click here to expand...
Error response
{
  "success": 0
}

Error