{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"c32dc464-ebbe-4d90-ab95-d1bcd3c22ac7","name":"Wellhub ||  Quick Start Guide | Booking & Access Control API","description":"<img src=\"https://content.pstmn.io/fe610d14-b630-4447-b385-8ac7c299ce0f/V0gucG5n\">\n\n# **Welcome to the Wellhub Getting Started Guide.**\n\nWellhub 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 Wellhub Booking API to create and edit classes for your gym or studio as well as the booking process for a Wellhub user.\n\n## Booking API\n\nOur Booking API makes it possible to add classes and schedule them on to the Wellhub platform. This is required for a successful integration with Wellhub as it allows for our partners Class Inventory to be listed and bookable on the Wellhub 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 Wellhub user has made a booking via our platform. Once you create a class on your system, Wellhub receives the information via the Booking API and our Webhooks do all the work in maintaining synchronised information between both applications once a Wellhub user has made a booking via our platform.\n\n## Access Control API\n\nWellhub has a check-in process that ensures that partners are able to validate legitimate Wellhub subscriber visits to their facilities.\n\nCheck-in is a core part of the Wellhub 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 Wellhub app for all visits by subscribers**\n    \n2. **Check-ins must be validated**\n    \n\nOnce the user performs a check-in on the Wellhub 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 [Wellhub 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    \n- **booking.cancelation** - Triggered whenever a user cancels a previous booked class.\n    \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 Wellhub with a Webhook handler for us to direct the Wellhub Webhooks to.** \n  \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\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    \n- API Key\n    \n\nThe above will be provided to you by your Wellhub 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 Wellhub Ecosystem.\n    \n2. `POST - Slots` - Schedule that class on the Wellhub Platform ready for booking.\n    \n    1. The class you create will be visible on your Wellhub Test site\n        \n3. `GET - List/Get` - Get the list of classes and the schedules you have created.\n    \n4. `PATCH - Slots` - Update the one of your classes with the `class_id` and `Slot_id`\n    \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.  \nWe'd also love to hear any feedback on how you found this getting started guide. \n  \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 Wellhub employees.**\n\nGympass ID (UUID) || Name of Test user\n\n> The Gympass ID will always be a 13 digit integer \n  \n\n1. 1000000000001 (Mike Hightower)\n    \n2. 1000000000002 (Thomas Patrick)\n    \n3. 1000000000003 (Patty Cork)\n    \n4. 1000000000004 (Kathleen Young)\n    \n5. 1000000000005 (Susan Middaugh)\n    \n6. 1000000000006 (Paul Charleston)\n    \n7. 1000000000007 (Helen Powell)\n    \n8. 1000000000008 (John Smith)\n    \n9. 1000000000009 (Florence Hogan)\n    \n10. 1000000000010 (Sharon Grace)\n    \n\n# Environment\n\n- **Production Booking API URL** : [<b>https://api.partners.gympass.com</b>](https://api.partners.gympass.com)\n    \n- **Authentication Token** (_bearer_): Provided to you by the Wellhub Tech Sales team - see [Authentication](https://developers.gympass.com/product/booking-api/1.0/getting-started#authentication)\n    \n\n# Additional Resources:\n\n- [Wellhub Developer Portal](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n    \n- [FAQ](https://developers.gympass.com/product/booking-api/1.0/faq)\n    \n- [UML Sequence Diagrams](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n    \n- [Glossary](https://developers.gympass.com/product/booking-api/1.0/getting-started)\n    \n- [Wellhub 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":"c32dc464-ebbe-4d90-ab95-d1bcd3c22ac7","publishedId":"2sAYdbPtHN","public":true,"publicUrl":"https://documenter-api.postman.tech/view/14766562/2sAYdbPtHN","privateUrl":"https://go.postman.co/documentation/14766562-c32dc464-ebbe-4d90-ab95-d1bcd3c22ac7","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":"https://content.pstmn.io/e7610c04-522b-49db-a643-4d47e57c5639/V0hsb2dvLnBuZw==","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/e7610c04-522b-49db-a643-4d47e57c5639/V0hsb2dvLnBuZw==","colors":{"top-bar":"ffffff","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.11.6","publishDate":"2025-02-21T09:34:41.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/e7610c04-522b-49db-a643-4d47e57c5639/V0hsb2dvLnBuZw==","logoDark":"https://content.pstmn.io/e7610c04-522b-49db-a643-4d47e57c5639/V0hsb2dvLnBuZw=="}},"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/2sAYdbPtHN"}