{
    "openapi": "3.1.0",
    "info": {
        "title": "CHAMS",
        "version": "0.0.1"
    },
    "servers": [
        {
            "url": "http://127.0.0.1:8000/api"
        }
    ],
    "tags": [
        {
            "name": "Prestataire",
            "description": "Client assistances (pivot)"
        },
        {
            "name": "Client",
            "description": "Client CRM assistances"
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "/prestataire/auth/client-assistances": {
            "get": {
                "operationId": "clientAssistance.index",
                "description": "Response includes nested **`client`** and **`assistance`** summaries per row.",
                "summary": "List paginated client\u2013assistance assignments for clients owned by the authenticated prestataire",
                "tags": [
                    "Prestataire"
                ],
                "parameters": [
                    {
                        "name": "client_id",
                        "in": "query",
                        "description": "Optional filter: only rows for this client ID.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "assistance_id",
                        "in": "query",
                        "description": "Optional filter: only rows for this assistance type ID.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "client_assistances": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ClientAssistanceAssignmentResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer"
                                                },
                                                "last_page": {
                                                    "type": "integer"
                                                },
                                                "per_page": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "client_assistances",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "clientAssistance.store",
                "description": "Typical **`assistance_id`** values from the default seeder: **1** Scanner, **2** Assurance, **3** Gaz, **4** Extincteur.\nOptional **`company_name`**: insurer / supplier / company label stored on the pivot.\n\n**`client_id`** must belong to the authenticated prestataire (otherwise **404**).",
                "summary": "Attach an assistance type to a client (same validation as `POST /prestataire/auth/client-assistances` on this controller)",
                "tags": [
                    "Prestataire"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddAssistanceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "Server error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Assignment created; returns the new pivot row with relations.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "client_assistance": {
                                            "$ref": "#/components/schemas/ClientAssistanceAssignmentResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "client_assistance"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Client not found for this prestataire.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/client-assistances/{id}": {
            "delete": {
                "operationId": "clientAssistance.destroy",
                "description": "The row must belong to a client owned by the authenticated prestataire.",
                "summary": "Remove a client\u2013assistance assignment by the pivot row **`id`** (from the list endpoint)",
                "tags": [
                    "Prestataire"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "Primary key of the `client_assistance` row.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 12
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Assignment removed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Pivot row not found or not accessible.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/auth/client-assistances": {
            "get": {
                "operationId": "userClientAssistance.index",
                "summary": "Paginated `client_assistance` rows for CRM clients that match this user\u2019s email or phone",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client_id",
                        "in": "query",
                        "description": "Optional filter: only rows for this CRM client ID (must still match the user).",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "assistance_id",
                        "in": "query",
                        "description": "Optional filter: only rows for this assistance type ID.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 2
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Page size (defaults to app preference).",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 15
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated list.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "client_assistances": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ClientAssistanceAssignmentResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer"
                                                },
                                                "last_page": {
                                                    "type": "integer"
                                                },
                                                "per_page": {
                                                    "type": "integer"
                                                },
                                                "total": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "client_assistances",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/auth/add-assistance": {
            "post": {
                "operationId": "clientAppAssistance.addAssistance",
                "description": "Typical **`assistance_id`** values from the default seeder: **1** Scanner, **2** Assurance, **3** Gaz, **4** Extincteur.\nOptional **`company_name`**: label stored on the `client_assistance` pivot.",
                "summary": "Attach an assistance type to a CRM client profile that belongs to this user",
                "tags": [
                    "Client"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddAssistanceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "Server error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Assistance attached.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "client": {
                                            "$ref": "#/components/schemas/ClientResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "client"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "CRM client not found for this user.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/remove-assistance": {
            "delete": {
                "operationId": "clientAppAssistance.removeAssistance",
                "description": "Send **`client_id`** and **`assistance_id`** in the JSON body (recommended) or as query parameters.",
                "summary": "Detach an assistance type from a CRM client profile that belongs to this user",
                "tags": [
                    "Client"
                ],
                "parameters": [
                    {
                        "name": "client_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "assistance_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Validation error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "object",
                                            "additionalProperties": {}
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Assistance removed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "client": {
                                            "$ref": "#/components/schemas/ClientResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "client"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "CRM client not found for this user.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/orders/ambulances": {
            "get": {
                "operationId": "ambulance.index",
                "tags": [
                    "Ambulance"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "orders": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OrderResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "orders",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/show/{order_id}": {
            "get": {
                "operationId": "ambulance.show",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/create": {
            "post": {
                "operationId": "ambulance.create",
                "tags": [
                    "Ambulance"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AmbulanceCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/update/{order_id}": {
            "post": {
                "operationId": "ambulance.update",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AmbulanceUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/dispatch/{order_id}": {
            "post": {
                "operationId": "ambulance.dispatch",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/choose/{order_id}/{prestataire_id}": {
            "post": {
                "operationId": "ambulance.choose",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "prestataire_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/estimation/{order_id}": {
            "post": {
                "operationId": "ambulance.estimation",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "estimation": {
                                            "type": "object",
                                            "properties": {
                                                "text": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "text",
                                                "value"
                                            ]
                                        },
                                        "prestataire": {
                                            "$ref": "#/components/schemas/PrestataireLocationResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "estimation",
                                        "prestataire"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/ambulances/review/{order_id}": {
            "post": {
                "operationId": "ambulance.review",
                "tags": [
                    "Ambulance"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReviewOrderRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/assistances": {
            "get": {
                "operationId": "assistance.index",
                "tags": [
                    "Assistance"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/auth/register": {
            "post": {
                "operationId": "clientsregister",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RegisterRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "anyOf": [
                                                {
                                                    "$ref": "#/components/schemas/PrestataireResource"
                                                },
                                                {
                                                    "$ref": "#/components/schemas/UserResource"
                                                }
                                            ]
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/login": {
            "post": {
                "operationId": "clientslogin",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LoginRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "anyOf": [
                                                {
                                                    "$ref": "#/components/schemas/PrestataireResource"
                                                },
                                                {
                                                    "$ref": "#/components/schemas/UserResource"
                                                }
                                            ]
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/verify-otp": {
            "post": {
                "operationId": "auth.verifyOtp_0",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyOtpRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/send-otp": {
            "post": {
                "operationId": "auth.sendOtp_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/client/auth/verify-email": {
            "post": {
                "operationId": "auth.verifyEmail_0",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyEmailRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/password-reset": {
            "post": {
                "operationId": "clientspassword-reset",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PasswordResetRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "success"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/auth/logout": {
            "post": {
                "operationId": "auth.logout_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/auth/refresh": {
            "post": {
                "operationId": "auth.refreshToken_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "anyOf": [
                                                {
                                                    "$ref": "#/components/schemas/PrestataireResource"
                                                },
                                                {
                                                    "$ref": "#/components/schemas/UserResource"
                                                }
                                            ]
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/auth/user": {
            "delete": {
                "operationId": "auth.destroy_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "get": {
                "operationId": "user.show",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "user.update",
                "tags": [
                    "User"
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/UserUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/full-register": {
            "post": {
                "operationId": "prestataires.FullRegister",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/FullRegisterRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/PrestataireResource"
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/login": {
            "post": {
                "operationId": "prestataires.login",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/LoginRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "anyOf": [
                                                {
                                                    "$ref": "#/components/schemas/PrestataireResource"
                                                },
                                                {
                                                    "$ref": "#/components/schemas/UserResource"
                                                }
                                            ]
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/verify-otp": {
            "post": {
                "operationId": "prestataires.verify-otp",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyOtpRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/send-otp": {
            "post": {
                "operationId": "prestataires.send-otp",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/prestataire/auth/verify-email": {
            "post": {
                "operationId": "prestataires.",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifyEmailRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "success": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "success",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/password-reset": {
            "post": {
                "operationId": "prestataires.password-reset",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PasswordResetRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "anyOf": [
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "error"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                },
                                                "errors": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message",
                                                "errors"
                                            ]
                                        },
                                        {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "success"
                                                    ]
                                                },
                                                "message": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "status",
                                                "message"
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/auth/logout": {
            "post": {
                "operationId": "auth.logout_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/auth/refresh": {
            "post": {
                "operationId": "auth.refreshToken_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "anyOf": [
                                                {
                                                    "$ref": "#/components/schemas/PrestataireResource"
                                                },
                                                {
                                                    "$ref": "#/components/schemas/UserResource"
                                                }
                                            ]
                                        },
                                        "token": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user",
                                        "token"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/auth/user": {
            "delete": {
                "operationId": "auth.destroy_0",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "get": {
                "operationId": "prestataire.show",
                "tags": [
                    "Prestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/PrestataireResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "prestataire.update",
                "tags": [
                    "Prestataire"
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/PrestataireUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/PrestataireResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "user"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/common": {
            "get": {
                "operationId": "common.index",
                "tags": [
                    "Common"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "wilayas": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/WilayaResource"
                                            }
                                        },
                                        "services": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ServiceResource"
                                            }
                                        },
                                        "assistances": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AssistanceResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "wilayas",
                                        "services",
                                        "assistances"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/hospitals": {
            "get": {
                "operationId": "hospital.index",
                "tags": [
                    "Hospital"
                ],
                "responses": {
                    "200": {
                        "description": "Array of `HospitalResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/HospitalResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/client/offers": {
            "get": {
                "operationId": "offer.client",
                "tags": [
                    "Offer"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "offers": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OfferResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "offers"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/offers/{id}": {
            "get": {
                "operationId": "offer.show_0",
                "tags": [
                    "Offer"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "offers": {
                                            "$ref": "#/components/schemas/OfferResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "offers"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/offers": {
            "get": {
                "operationId": "offer.prestataire",
                "tags": [
                    "Offer"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "offers": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OfferResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "offers"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/offers/{id}": {
            "get": {
                "operationId": "offer.show_0",
                "tags": [
                    "Offer"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "offers": {
                                            "$ref": "#/components/schemas/OfferResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "offers"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders": {
            "get": {
                "operationId": "order.index",
                "tags": [
                    "Order"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "orders": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OrderResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "orders",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/show/{order_id}": {
            "get": {
                "operationId": "order.show",
                "tags": [
                    "Order"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/orders": {
            "get": {
                "operationId": "orderPrestataire.index",
                "tags": [
                    "OrderPrestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "orders": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PrestataireOrderResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "orders",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/orders/show/{order_id}": {
            "get": {
                "operationId": "orderPrestataire.show",
                "tags": [
                    "OrderPrestataire"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/orders/update/{id}": {
            "post": {
                "operationId": "orderPrestataire.update",
                "tags": [
                    "OrderPrestataire"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PrestataireUpdateOrderRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/prestataire/orders/reviews": {
            "get": {
                "operationId": "orderPrestataire.reviews",
                "tags": [
                    "OrderPrestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ReviewResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/auth/user/availability": {
            "post": {
                "operationId": "prestataire.setAvailability",
                "tags": [
                    "Prestataire"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PrestataireAvailibilityUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "$ref": "#/components/schemas/PrestataireStatus"
                                                }
                                            },
                                            "required": [
                                                "status"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "get": {
                "operationId": "prestataire.getAvailability",
                "tags": [
                    "Prestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "status": {
                                                    "$ref": "#/components/schemas/PrestataireStatus"
                                                }
                                            },
                                            "required": [
                                                "status"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/auth/user/location": {
            "post": {
                "operationId": "prestataire.setLocation",
                "tags": [
                    "Prestataire"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PrestataireUpdateLocationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PrestataireLocationResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "get": {
                "operationId": "prestataire.getLocation",
                "tags": [
                    "Prestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PrestataireLocationResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/prestataire/auth/user/statistics": {
            "get": {
                "operationId": "prestataire.statistics",
                "tags": [
                    "Prestataire"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "credit": {
                                                    "type": "number"
                                                },
                                                "income": {
                                                    "type": "object",
                                                    "properties": {
                                                        "total": {
                                                            "type": "string"
                                                        },
                                                        "net_fare": {
                                                            "type": "string"
                                                        },
                                                        "commission": {
                                                            "type": "string"
                                                        },
                                                        "total_earnings": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "total",
                                                        "net_fare",
                                                        "commission",
                                                        "total_earnings"
                                                    ]
                                                },
                                                "activities": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "credit",
                                                "income",
                                                "activities"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/technical-controls": {
            "get": {
                "operationId": "technicalControl.index",
                "description": "Each item includes **`can_travel`** (boolean): whether the centre offers on-site / mobile service.",
                "summary": "List vehicle inspection / mechanic centres (M\u00e9caniciens)",
                "tags": [
                    "TechnicalControl"
                ],
                "responses": {
                    "200": {
                        "description": "Array of technical control centres.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TechnicalControlResource"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/client/orders/tows": {
            "get": {
                "operationId": "tow.index",
                "tags": [
                    "Tow"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "orders": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/OrderResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "orders",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/tows/show/{order_id}": {
            "get": {
                "operationId": "tow.show",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/tows/create": {
            "post": {
                "operationId": "tow.create",
                "tags": [
                    "Tow"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TowCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/orders/tows/update/{order_id}": {
            "post": {
                "operationId": "tow.update",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TowUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/client/orders/tows/dispatch/{order_id}": {
            "post": {
                "operationId": "tow.dispatch",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/tows/choose/{order_id}/{prestataire_id}": {
            "post": {
                "operationId": "tow.choose",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "prestataire_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "order": {
                                            "$ref": "#/components/schemas/OrderResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "order"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/tows/estimation/{order_id}": {
            "post": {
                "operationId": "tow.estimation",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "estimation": {
                                            "type": "object",
                                            "properties": {
                                                "text": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "integer"
                                                }
                                            },
                                            "required": [
                                                "text",
                                                "value"
                                            ]
                                        },
                                        "prestataire": {
                                            "$ref": "#/components/schemas/PrestataireLocationResource"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "estimation",
                                        "prestataire"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/client/orders/tows/review/{order_id}": {
            "post": {
                "operationId": "tow.review",
                "tags": [
                    "Tow"
                ],
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReviewOrderRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "500": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        },
                                        "errors": {
                                            "type": "array",
                                            "prefixItems": [
                                                {
                                                    "type": "string"
                                                }
                                            ],
                                            "minItems": 1,
                                            "maxItems": 1,
                                            "additionalItems": false
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "error"
                                            ]
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "message"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "AddAssistanceRequest": {
                "type": "object",
                "properties": {
                    "client_id": {
                        "type": "integer"
                    },
                    "assistance_id": {
                        "type": "integer"
                    },
                    "expiration_date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "company_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    }
                },
                "required": [
                    "client_id",
                    "assistance_id"
                ],
                "title": "AddAssistanceRequest"
            },
            "AmbulanceCreateRequest": {
                "type": "object",
                "properties": {
                    "pickup_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "dropoff_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pickup_location": {
                        "type": "object",
                        "properties": {
                            "latitude": {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90
                            },
                            "longitude": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude"
                        ]
                    },
                    "dropoff_location": {
                        "type": "object",
                        "properties": {
                            "latitude": {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90
                            },
                            "longitude": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude"
                        ]
                    }
                },
                "required": [
                    "pickup_location",
                    "dropoff_location"
                ],
                "title": "AmbulanceCreateRequest"
            },
            "AmbulanceResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "prestataire": {
                        "$ref": "#/components/schemas/CompactedPrestataireResource"
                    },
                    "status": {
                        "type": "string"
                    },
                    "pickup_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pickup_location": {
                        "$ref": "#/components/schemas/LocationResource"
                    },
                    "dropoff_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "dropoff_location": {
                        "$ref": "#/components/schemas/LocationResource"
                    },
                    "price": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "distance": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "duration": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "started_at": {
                        "type": "string"
                    },
                    "picked_up_at": {
                        "type": "string"
                    },
                    "ended_at": {
                        "type": "string"
                    },
                    "canceled_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "status",
                    "pickup_address_name",
                    "pickup_location",
                    "dropoff_address_name",
                    "dropoff_location",
                    "price",
                    "distance",
                    "duration",
                    "started_at",
                    "picked_up_at",
                    "ended_at",
                    "canceled_at"
                ],
                "title": "AmbulanceResource"
            },
            "AmbulanceUpdateRequest": {
                "type": "object",
                "properties": {
                    "price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "canceled"
                        ]
                    }
                },
                "title": "AmbulanceUpdateRequest"
            },
            "AssistanceResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "array",
                        "items": {}
                    },
                    "description": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description"
                ],
                "title": "AssistanceResource"
            },
            "ClientAssistanceAssignmentResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "client_id": {
                        "type": "string"
                    },
                    "assistance_id": {
                        "type": "string"
                    },
                    "expiration_date": {
                        "type": "string"
                    },
                    "company_name": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "client": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "email": {
                                "type": "string"
                            },
                            "phone": {
                                "type": "string"
                            },
                            "prestataire": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "email",
                            "phone",
                            "prestataire"
                        ]
                    },
                    "assistance": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "description"
                        ]
                    }
                },
                "required": [
                    "id",
                    "client_id",
                    "assistance_id",
                    "expiration_date",
                    "company_name",
                    "created_at"
                ],
                "title": "ClientAssistanceAssignmentResource"
            },
            "ClientAssistanceResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "expiration_date": {
                        "type": "string"
                    },
                    "company_name": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "expiration_date",
                    "company_name"
                ],
                "title": "ClientAssistanceResource"
            },
            "ClientResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "avatar": {
                        "type": "string"
                    },
                    "assistances": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClientAssistanceResource"
                        }
                    },
                    "created_at": {
                        "type": "string",
                        "description": "transform relation"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "email",
                    "phone",
                    "avatar",
                    "created_at"
                ],
                "title": "ClientResource"
            },
            "CompactedPrestataireResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "avatar": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "phone",
                    "avatar"
                ],
                "title": "CompactedPrestataireResource"
            },
            "FullRegisterRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "fcm_token": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "password": {
                        "type": "string"
                    },
                    "registre_de_commerce": {
                        "type": "string",
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 5120
                    },
                    "driving_license": {
                        "type": "string",
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 5120
                    },
                    "wilayas": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "minItems": 1
                    },
                    "insurances": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 5120
                        },
                        "minItems": 1,
                        "maxItems": 5
                    },
                    "scanners": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 5120
                        },
                        "minItems": 1,
                        "maxItems": 5
                    },
                    "cartes_grises": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 5120
                        },
                        "minItems": 1,
                        "maxItems": 5
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "integer"
                                },
                                "options": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "required": [
                                "id"
                            ]
                        },
                        "minItems": 1
                    }
                },
                "required": [
                    "name",
                    "email",
                    "password",
                    "registre_de_commerce",
                    "driving_license",
                    "wilayas",
                    "insurances",
                    "scanners",
                    "cartes_grises",
                    "services"
                ],
                "title": "FullRegisterRequest"
            },
            "HospitalResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "type": {
                        "type": "string"
                    },
                    "phone_numbers": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "opening_time": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "closing_time": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "latitude": {
                        "type": "number"
                    },
                    "longitude": {
                        "type": "number"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "address",
                    "type",
                    "phone_numbers",
                    "opening_time",
                    "closing_time",
                    "latitude",
                    "longitude"
                ],
                "title": "HospitalResource"
            },
            "LocationResource": {
                "type": "object",
                "properties": {
                    "latitude": {
                        "type": "string"
                    },
                    "longitude": {
                        "type": "string"
                    }
                },
                "required": [
                    "latitude",
                    "longitude"
                ],
                "title": "LocationResource"
            },
            "LoginRequest": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string"
                    },
                    "fcm_token": {
                        "type": "string"
                    }
                },
                "required": [
                    "email",
                    "password",
                    "fcm_token"
                ],
                "title": "LoginRequest"
            },
            "OfferResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "title": {
                        "type": "array",
                        "items": {}
                    },
                    "description": {
                        "type": "array",
                        "items": {}
                    },
                    "image_url": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "title",
                    "description",
                    "image_url"
                ],
                "title": "OfferResource"
            },
            "OrderPrestataireResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "avatar": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "price": {
                        "type": "string"
                    },
                    "distance": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "phone",
                    "avatar",
                    "status",
                    "price",
                    "distance"
                ],
                "title": "OrderPrestataireResource"
            },
            "OrderResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "ref": {
                        "type": "string"
                    },
                    "service": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "user": {
                        "$ref": "#/components/schemas/UserResource"
                    },
                    "orderable": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/AmbulanceResource"
                            },
                            {
                                "$ref": "#/components/schemas/TowResource"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "prestataires": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/OrderPrestataireResource"
                        }
                    },
                    "review": {
                        "$ref": "#/components/schemas/ReviewResource"
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "ref",
                    "service",
                    "orderable",
                    "created_at"
                ],
                "title": "OrderResource"
            },
            "PasswordResetRequest": {
                "type": "object",
                "properties": {
                    "otp": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6
                    },
                    "password": {
                        "type": "string"
                    }
                },
                "required": [
                    "otp",
                    "password"
                ],
                "title": "PasswordResetRequest"
            },
            "PrestataireAvailibilityUpdateRequest": {
                "type": "object",
                "properties": {
                    "status": {
                        "$ref": "#/components/schemas/PrestataireStatus"
                    }
                },
                "required": [
                    "status"
                ],
                "title": "PrestataireAvailibilityUpdateRequest"
            },
            "PrestataireLocationResource": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "object",
                        "properties": {
                            "latitude": {
                                "type": "string"
                            },
                            "longitude": {
                                "type": "string"
                            },
                            "heading": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude",
                            "heading"
                        ]
                    }
                },
                "required": [
                    "location"
                ],
                "title": "PrestataireLocationResource"
            },
            "PrestataireOrderResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "ref": {
                        "type": "string"
                    },
                    "service": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "proposed_price": {
                        "type": "string"
                    },
                    "user": {
                        "$ref": "#/components/schemas/UserResource"
                    },
                    "orderable": {
                        "anyOf": [
                            {
                                "$ref": "#/components/schemas/AmbulanceResource"
                            },
                            {
                                "$ref": "#/components/schemas/TowResource"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "review": {
                        "$ref": "#/components/schemas/ReviewResource"
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "ref",
                    "service",
                    "status",
                    "proposed_price",
                    "user",
                    "orderable",
                    "review",
                    "created_at"
                ],
                "title": "PrestataireOrderResource"
            },
            "PrestataireResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "$ref": "#/components/schemas/PrestataireStatus"
                    },
                    "role": {
                        "type": "string"
                    },
                    "avatar": {
                        "type": "string"
                    },
                    "registre_de_commerce": {
                        "type": "string"
                    },
                    "cartes_grises": {
                        "type": "string"
                    },
                    "driving_license": {
                        "type": "string"
                    },
                    "insurances": {
                        "type": "string"
                    },
                    "scanners": {
                        "type": "string"
                    },
                    "wilayas": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/WilayaResource"
                        }
                    },
                    "services": {
                        "type": "string"
                    },
                    "order": {
                        "$ref": "#/components/schemas/PrestataireOrderResource"
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "deactivation_reason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "email_verified": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "email",
                    "phone",
                    "status",
                    "role",
                    "avatar",
                    "registre_de_commerce",
                    "cartes_grises",
                    "driving_license",
                    "insurances",
                    "scanners",
                    "wilayas",
                    "services",
                    "order",
                    "active",
                    "deactivation_reason",
                    "email_verified",
                    "created_at"
                ],
                "title": "PrestataireResource"
            },
            "PrestataireStatus": {
                "type": "string",
                "enum": [
                    "available",
                    "unavailable",
                    "working"
                ],
                "title": "PrestataireStatus"
            },
            "PrestataireUpdateLocationRequest": {
                "type": "object",
                "properties": {
                    "longitude": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180
                    },
                    "latitude": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90
                    },
                    "heading": {
                        "type": [
                            "number",
                            "null"
                        ]
                    }
                },
                "required": [
                    "longitude",
                    "latitude"
                ],
                "title": "PrestataireUpdateLocationRequest"
            },
            "PrestataireUpdateOrderRequest": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "accepted",
                            "offered",
                            "picked",
                            "rejected",
                            "finished",
                            "canceled"
                        ]
                    },
                    "price": {
                        "type": "number",
                        "minimum": 0
                    }
                },
                "required": [
                    "status"
                ],
                "title": "PrestataireUpdateOrderRequest"
            },
            "PrestataireUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "email",
                        "maxLength": 255
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "avatar": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 2048
                    },
                    "registre_de_commerce": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 2048
                    },
                    "license": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 2048
                    },
                    "deleted_cartes_grises": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "deleted_scanners": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "deleted_insurances": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "current_password": {
                        "type": "string"
                    },
                    "wilayas": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "integer"
                        },
                        "minItems": 1
                    },
                    "cartes_grises": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 2048
                        }
                    },
                    "insurances": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 2048
                        }
                    },
                    "scanners": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string",
                            "format": "binary",
                            "contentMediaType": "application/octet-stream",
                            "maxLength": 5120
                        },
                        "minItems": 1,
                        "maxItems": 5
                    },
                    "services": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": [
                                        "integer",
                                        "null"
                                    ]
                                },
                                "options": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        },
                        "minItems": 1
                    }
                },
                "title": "PrestataireUpdateRequest"
            },
            "RegisterRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "fcm_token": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "email",
                    "fcm_token",
                    "password"
                ],
                "title": "RegisterRequest"
            },
            "ReviewOrderRequest": {
                "type": "object",
                "properties": {
                    "note": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 5
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "note"
                ],
                "title": "ReviewOrderRequest"
            },
            "ReviewResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "note": {
                        "type": "integer"
                    },
                    "comment": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "user": {
                        "$ref": "#/components/schemas/UserResource"
                    }
                },
                "required": [
                    "id",
                    "note",
                    "comment"
                ],
                "title": "ReviewResource"
            },
            "ServiceResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "array",
                        "items": {}
                    },
                    "description": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "options": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "sub_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceResource"
                        }
                    }
                },
                "required": [
                    "id",
                    "name",
                    "description",
                    "options"
                ],
                "title": "ServiceResource"
            },
            "TechnicalControlResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "type": {
                        "type": "string"
                    },
                    "working_days": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "opening_time": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "closing_time": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone_numbers": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "latitude": {
                        "type": "number"
                    },
                    "longitude": {
                        "type": "number"
                    },
                    "can_travel": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "address",
                    "type",
                    "working_days",
                    "opening_time",
                    "closing_time",
                    "phone_numbers",
                    "latitude",
                    "longitude",
                    "can_travel",
                    "created_at",
                    "updated_at"
                ],
                "title": "TechnicalControlResource"
            },
            "TowCreateRequest": {
                "type": "object",
                "properties": {
                    "tow_service_id": {
                        "type": "integer"
                    },
                    "weight": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "pickup_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "dropoff_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pickup_location": {
                        "type": "object",
                        "properties": {
                            "latitude": {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90
                            },
                            "longitude": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude"
                        ]
                    },
                    "dropoff_location": {
                        "type": "object",
                        "properties": {
                            "latitude": {
                                "type": "number",
                                "minimum": -90,
                                "maximum": 90
                            },
                            "longitude": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude"
                        ]
                    }
                },
                "required": [
                    "tow_service_id",
                    "pickup_location",
                    "dropoff_location"
                ],
                "title": "TowCreateRequest"
            },
            "TowResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "prestataire": {
                        "$ref": "#/components/schemas/CompactedPrestataireResource"
                    },
                    "tow_service": {
                        "$ref": "#/components/schemas/ServiceResource"
                    },
                    "weight": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "pickup_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "pickup_location": {
                        "$ref": "#/components/schemas/LocationResource"
                    },
                    "dropoff_address_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "dropoff_location": {
                        "$ref": "#/components/schemas/LocationResource"
                    },
                    "price": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "distance": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "duration": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {}
                    },
                    "started_at": {
                        "type": "string"
                    },
                    "picked_up_at": {
                        "type": "string"
                    },
                    "ended_at": {
                        "type": "string"
                    },
                    "canceled_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "weight",
                    "status",
                    "pickup_address_name",
                    "pickup_location",
                    "dropoff_address_name",
                    "dropoff_location",
                    "price",
                    "distance",
                    "duration",
                    "started_at",
                    "picked_up_at",
                    "ended_at",
                    "canceled_at"
                ],
                "title": "TowResource"
            },
            "TowUpdateRequest": {
                "type": "object",
                "properties": {
                    "price": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "minimum": 0
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "canceled"
                        ]
                    }
                },
                "title": "TowUpdateRequest"
            },
            "UserResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "avatar": {
                        "type": "string"
                    },
                    "order": {
                        "$ref": "#/components/schemas/OrderResource"
                    },
                    "created_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "phone",
                    "avatar",
                    "created_at"
                ],
                "title": "UserResource"
            },
            "UserUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 255
                    },
                    "email": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "email",
                        "maxLength": 255
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "avatar": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "binary",
                        "contentMediaType": "application/octet-stream",
                        "maxLength": 2048
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "current_password": {
                        "type": "string"
                    }
                },
                "title": "UserUpdateRequest"
            },
            "VerifyEmailRequest": {
                "type": "object",
                "properties": {
                    "otp": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6
                    }
                },
                "required": [
                    "otp"
                ],
                "title": "VerifyEmailRequest"
            },
            "VerifyOtpRequest": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "otp": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6
                    },
                    "password_reset": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "email",
                    "otp"
                ],
                "title": "VerifyOtpRequest"
            },
            "WilayaResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "array",
                        "items": {}
                    }
                },
                "required": [
                    "id",
                    "name"
                ],
                "title": "WilayaResource"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}