{
    "openapi": "3.0.0",
    "info": {
        "title": "Fitzen Studios API's Docs.",
        "version": "1.0"
    },
    "servers": [
        {
            "url": "http://fitzen.test/api",
            "description": "Local 1"
        },
        {
            "url": "http://service.demowebsitelinks.com:3004/api",
            "description": "Staging"
        },
        {
            "url": "https://beta.fitzen.studio/api",
            "description": "Live"
        }
    ],
    "paths": {
        "/register": {
            "post": {
                "tags": [
                    "Auth (Register, Login)"
                ],
                "parameters": [
                    {
                        "name": "time_zone",
                        "in": "query",
                        "description": "Options: ['Asia/Kolkata', 'America/Los_Angeles', 'America/Chicago', 'America/New_York']"
                    }
                ],
                "summary": "Register a new user.",
                "operationId": "route-register",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "first_name": "Cedric",
                                    "last_name": "Maya",
                                    "email": "asd441@mailinator.com",
                                    "password": "admin!@#",
                                    "phone": "1234",
                                    "time_zone": "Asia/Kolkata"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                }
            }
        },
        "/login": {
            "post": {
                "tags": [
                    "Auth (Register, Login)"
                ],
                "summary": "Login user.",
                "operationId": "route-login",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "email": "asd441@mailinator.com",
                                    "password": "admin!@#"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                }
            }
        },
        "/change-password": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Change password",
                "operationId": "route-change-password",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "current_password" : "12345678",
                                    "new_password" : "password123"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/me": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Logged in user details.",
                "operationId": "route-me",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/sessions": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Session list of logged in user.",
                "operationId": "route-sessions",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/create-session": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Create session.",
                "operationId": "route-create-sessions",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "trainer_id" : "7",
                                    "customer_id" : ["10"],
                                    "session_type" : "Boxing ",
                                    "trainer_date" : ["07/07/2023"],
                                    "trainer_time" : ["02:15PM"],
                                    "time_zone": "1"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/book-demo-session": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Create session.",
                "operationId": "route-create-sessions",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "time_zone" : "1",
                                    "first_name": "Tester",
                                    "last_name": "Demo",
                                    "email": "demo@gmail.com",
                                    "phone": "0934234234",
                                    "session_date": "07/07/2023",
                                    "session_time": "02:15PM",
                                    "goals": "Testing",
                                    "message": "Dummy Message"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/cancel-session": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "cancel session.",
                "operationId": "route-create-sessions",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "customer_to_trainer_id" : "7"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/reschedule-session": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "parameters": [
                    {
                        "name": "request_by_timezone",
                        "in": "query",
                        "description": "Options: ['Asia/Kolkata', 'America/Los_Angeles', 'America/Chicago', 'America/New_York']"
                    }
                ],
                "summary": "Reschedule request for session.",
                "operationId": "route-reschedule-session",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "session_id": 1,
                                    "request_by": "customer",
                                    "request_by_timezone": "Asia/Kolkata",
                                    "new_session_date": "12-4-2023",
                                    "new_session_time": "12:34 AM",
                                    "reason": "Family Emergency"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/join-zoom-meeting": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Join zoom meeting of session",
                "operationId": "route-join-zoom-meeting",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "session_id": 1
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/profile-update": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Update Profile",
                "operationId": "route-profile-update",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "user_id": 1,
                                    "first_name": "Name",
                                    "last_name": "Name",
                                    "phone": "1231 231 123",
                                    "dob": "12-12-12",
                                    "gender": "Male",
                                    "weight": "123",
                                    "residence": "abc example",
                                    "age": "24",
                                    "nationality": "U.S.",
                                    "city": "N.Y.C.",
                                    "timezone": "EST",
                                    "days": "14",
                                    "sessions_in_week": "10",
                                    "training_type": "Training Type",
                                    "trainer_id": 1
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/profile": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Profile",
                "operationId": "route-profile",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "user_id": 1
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/trainers": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Trainer List.",
                "operationId": "route-trainer-list",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/training-type": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Training Type List.",
                "operationId": "route-training-type-list",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-time-zones": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Time Zones List.",
                "operationId": "route-get-time-zones",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/get-my-notifications": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Notifications List.",
                "operationId": "route-my-get-notifications",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/faqs": {
            "get": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Faqs",
                "operationId": "faqs",
                "requestBody": {
                    "content": {
                        "application/json": {
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/contact-us": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Contact Form",
                "operationId": "contact-us",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "first_name": "Ragini Dravida",
                                    "last_name": "Dravida",
                                    "email": "rdravida@gmail.com",
                                    "message": "Hi",
                                    "phone": "12345678"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/customer-report": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Customer report.",
                "operationId": "customer-report",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "customer_id": 1,
                                    "generic_time_loging_in": "02:15PM",
                                    "generic_time_loging_out": "05:15PM",
                                    "generic_pre_workout_meal": "banana",
                                    "generic_hours_sleep_prev_day": "05:15AM",
                                    "generic_count_prev_day": "5",
                                    "generic_activity_done_prev_day": "6",
                                    "generic_count_during_session" : "7",
                                    "generic_pains_mindful": "sometimes",
                                    "generic_mood_energy_level": "4",
                                    "generic_average_during_session": "6",
                                    "mobility_time_taken": "05:15AM",
                                    "mobility_difficulty_notice": "sometimes",
                                    "core_reps_workout": "abs",
                                    "core_number_laps": "12345",
                                    "core_count_prev_day": "7",
                                    "core_difficulty_notice": "sometimes",
                                    "core_comments": "Hi",
                                    "speed_agility_reps_workout": "running",
                                    "speed_agility_number_laps": "12345",
                                    "speed_agility_count_prev_day": "8",
                                    "speed_agility_difficulty_notice": "sometimes",
                                    "speed_agility_comments": "Hi",
                                    "speed_reps_workout": "swimming",
                                    "speed_number_laps": "12345",
                                    "speed_count_prev_day": "8",
                                    "speed_difficulty_notice": "sometimes",
                                    "speed_comments": "Hi",
                                    "denomination": "Something",
                                    "kind_weights": "5",
                                    "porps": "No",
                                    "comments": "Hi",
                                    "cool_time_taken": "04:15PM",
                                    "cool_difficulty_notice": "sometimes"
                                }

                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/add-training-type": {
            "post": {
                "tags": [
                    "Secured Routes"
                ],
                "summary": "Add Training Type.",
                "operationId": "route-add-training-type",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "example": {
                                    "training_type": "Functional Training"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            }
        }
    }
}
