# L3 Operations related to L3 level of integration ## Get Class Details - [GET /classes/{classId}](https://developer.egym.com/mms-blueprints/canonical-classes/l2/getclassdetails.md): This operation returns all detailed information about GroupX Class. NOTE: !Professional Services only Implementation of this operation is mandatory. In that case if Partner API does not implement it then this implementation should be introduced on Anti-corruption layer. It could be based on cached data of getClasses call as a possible solution. #### Additional Contracts 1. Parameter exerciserId is supported only if metaOption::bookingEnabled = true. If booking is disabled, then 400 status code must be returned when exerciserId is specified. 2. If metaOption::bookingEnabled = true, parameter exerciserId is optional. If it is specified, then GroupXClassAttendeeBookingDetails is provided in response. If exerciserId is not specified, then response has no attendee booking details. ## Get Class Details - [GET /classes/{classId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/getclassdetails.md): This operation returns all detailed information about GroupX Class. NOTE: !Professional Services only Implementation of this operation is mandatory. In that case if Partner API does not implement it then this implementation should be introduced on Anti-corruption layer. It could be based on cached data of getClasses call as a possible solution. #### Additional Contracts 1. Parameter exerciserId is supported only if metaOption::bookingEnabled = true. If booking is disabled, then 400 status code must be returned when exerciserId is specified. 2. If metaOption::bookingEnabled = true, parameter exerciserId is optional. If it is specified, then GroupXClassAttendeeBookingDetails is provided in response. If exerciserId is not specified, then response has no attendee booking details. ## Add Attendee to Class - [POST /classes/{classId}/attendees/{exerciserId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/addattendeetoclass.md): This operation books GroupX Class for the Attendee (Exerciser). NOTE: This operation is available only if metaOption::bookingEnabled = true (use status code 404 endpoint not supported). #### Additional Contracts N/A ## Update class booking - [PUT /classes/{classId}/attendees/{exerciserId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/updatebooking.md): This operation changes booking details of GroupX Class for the Attendee (Exerciser). NOTE: This operation is available only if metaOption::spotBookingEnabled = true (use status code 404 endpoint not supported). #### Additional Contracts N/A ## Remove Attendee from Class - [DELETE /classes/{classId}/attendees/{exerciserId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/removeattendeefromclass.md): This operation cancels GroupX Class for the Attendee (Exerciser). NOTE: This operation is available only if metaOption::bookingEnabled is true and (use status code 404 endpoint not supported). #### Additional Contracts N/A ## Add Attendee to Waitlist - [POST /classes/{classId}/waitlist/attendees/{exerciserId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/addattendeetowaitlist.md): This operation books GroupX Class Waitlist for the Attendee (Exerciser). Should be implemented in case if . NOTE: This operation is available only if metaOption::bookingEnabled is true. Use status code 404 if endpoint not supported. #### Additional Contracts N/A ## Remove Attendee from Waitlist - [DELETE /classes/{classId}/waitlist/attendees/{exerciserId}](https://developer.egym.com/mms-blueprints/canonical-classes/l3/removeattendeefromwaitlist.md): This operation cancels GroupX Class Waitlist for the Attendee (Exerciser). NOTE: This operation is available only if metaOption::bookingEnabled is true (use status code 404 endpoint not supported). #### Additional Contracts N/A ## Get Exerciser Class Schedule - [GET /exercisers/{exerciserId}/schedule](https://developer.egym.com/mms-blueprints/canonical-classes/l3/getexerciserclassschedule.md): This operation retrieves Attendee (Exerciser) Class schedule. NOTE: This operation is available only if metaOption::bookingEnabled is true (use status code 404 endpoint not supported).