{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"5b4b4fb6-76d1-4894-8231-b0062f27ffd7","name":"Old  - Gympass Quick Start Guide | Booking & Access Control API Copy","description":"<img src=\"https://content.pstmn.io/c86b5608-1c8b-4154-88c3-b30b7e51630f/R1AgTG9nby5wbmc=\">\n\n# **Welcome to the Gympass Getting Started Guide.**\n\nGympass is a SaaS platform designed to enable companies to extend the fitness and wellness programs to their employees as a wellness benefit. Employees are able to access the largest global network of gym partners fitness facilities and activities at a significantly reduced price.\n\nThis document covers the process of using the Gympass Booking API to create and edit classes for your gym or studio as well as the booking process for a Gympass user.\n\n## Booking API\n\nOur Booking API makes it possible to add classes and schedule them on to the Gympass platform. This is required for a successful integration with Gympass as it allows for our partners Class Inventory to be listed and bookable on the Gympass Ecosystem.\n\nWith our Booking API, you can leverage a seamless flow integrating your class system with our platform, allowing an easier and integrated process for booking.\n\nWith the help from our Webhooks we can then update our partners systems schedule automatically once a Gympass user has made a booking via our platform. Once you create a class on your system, Gympass receives the information via the Booking API and our Webhooks do all the work in maintaining synchronised information between both applications once a Gympass user has made a booking via our platform.\n\n## Access Control API\n\nGympass has a check-in process that ensures that partners are able to validate legitimate Gympass subscriber visits to their facilities.\n\nCheck-in is a core part of the Gympass customer UX and is essential for the correct payment of completed check-ins to our partners.\n\nFor this reason;\n\n1. **Check-ins must be done through the Gympass app for all visits by subscribers**\n2. **Check-ins must be validated**\n    \n\nOnce the user performs a check-in on the Gympass app your system can use our Access Control API to confirm it.\n\nA check-in has an **expiration time**, which means that it must be validated in this given interval. When called, this API needs to send the gympass_id, which is the user’s unique number.\n\n# Webhooks\n\nThe [Gympass webhooks](https://developers.gympass.com/product/booking-api/1.0/webhooks) will notify you when specific events are triggered. This notification is a HTTP POST request to your registered URL.\n\nThe booking workflow relies on the use of 4 Webhooks:\n\n- **booking.requested** - Triggered whenever a new booking request is made.\n- **booking.cancelation** - Triggered whenever a user cancels a previous booked class.\n- **booking.LateCancelation** - Triggered whenever a user cancels a previous booked class AND they cancelled outside of the approved window.\n    \n\n> **We will required you to provide Gympass with a Webhook handler for us to direct the Gympass Webhooks to.**\n\n---\n\n---\n\n# Getting Started!\n\nFirstly lets get you set up with our API collection.\n\n> **click the \"Run in Postman\" button in the top right of this page to import our API collection**\n\n<img src=\"https://run.pstmn.io/button.svg\">\n\n## Authentication\n\nTo be able to use this API Test collection you will require the following:\n\n- System ID\n- API Key\n    \n\nThe above will be provided to you by your Gympass Technical Sales contact. Please reach out to them directly referencing \"Test Environment Credentials\"\n\nThe Technical Sales team will produce and provide you with your credentials .\n\nIn this guide you will learn how to:\n\n1. `POST - Create` - Create a class on the Gympass Ecosystem.\n2. `POST - Slots` - Schedule that class on the Gympass Platform ready for booking.\n    1. The class you create will be visible on your Gympass Test site\n3. `GET - List/Get` - Get the list of classes and the schedules you have created.\n4. `PATCH - Slots` - Update the one of your classes with the `class_id` and `Slot_id`\n5. `PUT - Slots` - Update the Schedule information for one of your classes with the `class_id` and `Slot_id`.\n    \n\n> Once you have completed this getting started guide we'd love to connect with you to discuss moving in to development, Webhook details and provide you with production credentials.  \n> We'd also love to hear any feedback on how you found this getting started guide.\n\n# Test users\n\nThere are 10 users that can be used to simulate activity in the testing environment.\n\nThey are preset, dummy users with fake data.\n\n**They in no way represent real users or Gympass employees.**\n\nGympass ID (UUID) || Name of Test user\n\n> The Gympass ID will always be a 13 digit integer\n\n1. 1000000000001 (Mike Hightower)\n2. 1000000000002 (Thomas Patrick)\n3. 1000000000003 (Patty Cork)\n4. 1000000000004 (Kathleen Young)\n5. 1000000000005 (Susan Middaugh)\n6. 1000000000006 (Paul Charleston)\n7. 1000000000007 (Helen Powell)\n8. 1000000000008 (John Smith)\n9. 1000000000009 (Florence Hogan)\n10. 1000000000010 (Sharon Grace)\n    \n\n# Environment\n\n- **Production Booking API URL** : [**https://api.partners.gympass.com**](https://api.partners.gympass.com)\n- **Authentication Token** (_bearer_): Provided to you by the Gympass Tech Sales team - see [Authentication](https://developers.gympass.com/product/booking-api/1.0/getting-started#authentication)\n    \n\n# Additional Resources:\n\n- [Gympass Developer Portal](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n- [FAQ](https://developers.gympass.com/product/booking-api/1.0/faq)\n- [UML Sequence Diagrams](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n- [Glossary](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n- [Gympass Customer Journey](https://developers.gympass.com/product/booking-api/1.0/getting-started)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"14766562","team":641503,"collectionId":"5b4b4fb6-76d1-4894-8231-b0062f27ffd7","publishedId":"2s9YsGhCsh","public":true,"publicUrl":"https://documenter-api.postman.tech/view/14766562/2s9YsGhCsh","privateUrl":"https://go.postman.co/documentation/14766562-5b4b4fb6-76d1-4894-8231-b0062f27ffd7","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.11.8","publishDate":"2024-01-04T11:52:21.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/37c5d363b30a7ebb77a425b22f9825948ba438f0e15577ca3deb2623aa66b6a0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s9YsGhCsh"}