{
    "openapi": "3.0.0",
    "info": {
        "title": "Korn API",
        "description": "Public API for Korn",
        "contact": {
            "email": "info@tots.agency"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "api"
        }
    ],
    "paths": {
        "/auth/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Login",
                "description": "Get the token to use the API",
                "operationId": "auth.login",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "email": {
                                        "description": "The email of the user",
                                        "type": "string",
                                        "maxLength": 255,
                                        "minLength": 1,
                                        "example": "admin@tots.agency"
                                    },
                                    "password": {
                                        "description": "The password of the user",
                                        "type": "string",
                                        "maxLength": 100,
                                        "minLength": 0,
                                        "example": "123Qwerty"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/auth/logout": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Logout",
                "description": "Logout and forget the token to use the API",
                "operationId": "auth.logout",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    }
                }
            }
        },
        "/auth/check_token": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Check token",
                "description": "Validate a user token",
                "operationId": "auth.checkToken",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    }
                }
            }
        },
        "/bidding": {
            "get": {
                "tags": [
                    "Bidding"
                ],
                "summary": "List of Bidding",
                "description": "Get the list of Bidding.",
                "operationId": "bidding.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Bidding"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            },
            "post": {
                "tags": [
                    "Bidding"
                ],
                "summary": "Store a Bidding",
                "description": "Store the Bidding with data specified.",
                "operationId": "bidding.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Bidding"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Bidding"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/bidding/{id}": {
            "get": {
                "tags": [
                    "Bidding"
                ],
                "summary": "Get a Bidding",
                "description": "Get the Bidding with the id specified.",
                "operationId": "bidding.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Bidding"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model Not found."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Bidding"
                ],
                "summary": "Deletes a Bidding",
                "description": "Deletes the Bidding specified.",
                "operationId": "bidding.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/bidding/{id}/update": {
            "put": {
                "tags": [
                    "Bidding"
                ],
                "summary": "Update a Bidding",
                "description": "Update the Bidding with data specified.",
                "operationId": "bidding.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Bidding"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/bidding/{id}/convert": {
            "post": {
                "tags": [
                    "Bidding"
                ],
                "summary": "Convert a Bidding",
                "description": "Convert the Bidding with data specified.",
                "operationId": "bidding.convert",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Bidding"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/bidding/{id}/repurchase": {
            "post": {
                "tags": [
                    "Bidding",
                    "Purchase order"
                ],
                "summary": "Generate another purchase order",
                "description": "Create a purchase order off an already completed bidding",
                "operationId": "bidding.repurchase",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Bidding"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/bidding_status": {
            "get": {
                "tags": [
                    "Bidding Status"
                ],
                "summary": "List of Bidding Status",
                "description": "Get the list of bidding statuses.",
                "operationId": "bidding_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/BiddingStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/bidding_supplier": {
            "get": {
                "tags": [
                    "Bidding Supplier"
                ],
                "summary": "List of Bidding Supplier",
                "description": "Get the list of Bidding Supplier.",
                "operationId": "bidding_supplier.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/BiddingSupplier"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            }
        },
        "/bidding_supplier/{id}": {
            "delete": {
                "tags": [
                    "Bidding Supplier"
                ],
                "summary": "Deletes a Bidding Supplier",
                "description": "Deletes the Bidding Supplier specified.",
                "operationId": "bidding_supplier.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cac_value": {
            "get": {
                "tags": [
                    "CAC Value"
                ],
                "summary": "List of CAC Value",
                "description": "Get the list of CAC Value",
                "operationId": "cac_value.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/CACValue"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "CAC Value"
                ],
                "summary": "Store a CAC Value",
                "description": "Store the CAC Value with data specified",
                "operationId": "cac_value.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CACValue"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CACValue"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/cac_value/{id}": {
            "get": {
                "tags": [
                    "CAC Value"
                ],
                "summary": "Get a CAC Value",
                "description": "Get the CAC Value with the id specified",
                "operationId": "cac_value.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CACValue"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "CAC Value"
                ],
                "summary": "Updates a CAC Value",
                "description": "Update the CAC Value with data specified",
                "operationId": "cac_value.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CACValue"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CACValue"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box": {
            "get": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "List of Cash Box",
                "description": "Get the list of Cash Box",
                "operationId": "cash_box.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/CashBoxDetail"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "Store a Cash Box",
                "description": "Store the Cash Box with data specified",
                "operationId": "cash_box.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxStore"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxDetail"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box/list_grouped_by_project": {
            "get": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "List of Cash Box grouped by project",
                "description": "Get the list of Cash Box grouped by project",
                "operationId": "cash_box.indexGroupedByProject",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/CashBoxGroupedByProject"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box/list_without_balances": {
            "get": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "List of Cash Box without balances",
                "description": "Get the list of Cash Box without filtering by role restriction",
                "operationId": "cash_box.indexWithoutBalances",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/CashBoxSummary"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box/{id}": {
            "get": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "Get a Cash Box",
                "description": "Get the Cash Box with the id specified",
                "operationId": "cash_box.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxDetail"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "Updates a Cash Box",
                "description": "Update the Cash Box with data specified",
                "operationId": "cash_box.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxUpdate"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxDetail"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Cash Box"
                ],
                "summary": "Deletes a Cash Box",
                "description": "Deletes the Cash Box specified",
                "operationId": "cash_box.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box_loan": {
            "get": {
                "tags": [
                    "Cash Box Loan"
                ],
                "summary": "List of Cash Box Loans",
                "description": "Get the list of Cash Box Loans",
                "operationId": "cash_box_loan.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/CashBoxLoanSummary"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Cash Box Loan"
                ],
                "summary": "Store a Cash Box Loan",
                "description": "Store the Cash Box Loan with data specified",
                "operationId": "cash_box_loan.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxLoanStore"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxLoanSummaryResource"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box_loan/{id}": {
            "get": {
                "tags": [
                    "Cash box",
                    "Loan",
                    "Movement",
                    "Transaction"
                ],
                "summary": "Get detailed information about a CashBoxLoan",
                "operationId": "cash_box_loan.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorResource"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            }
        },
        "/cash_box_loan/by_cash_box/{cash_box_id}": {
            "get": {
                "tags": [
                    "Cash Box Loan"
                ],
                "summary": "List Cash Box Loans by Cash Box",
                "description": "Get a list of Cash Box Loans associated with a specific Cash Box",
                "operationId": "cash_box_loan.indexByCashBox",
                "parameters": [
                    {
                        "name": "cash_box_id",
                        "in": "path",
                        "description": "ID of the Cash Box",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CashBoxLoanSummaryResource"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box_loan/pay_off/{cash_box_loan_id}": {
            "post": {
                "tags": [
                    "Cash Box Loan"
                ],
                "summary": "Pay off a Cash Box Loan",
                "description": "Record a payment for a specific Cash Box Loan",
                "operationId": "cash_box_loan.payOff",
                "parameters": [
                    {
                        "name": "cash_box_loan_id",
                        "in": "path",
                        "description": "ID of the Cash Box Loan",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxLoanPayOff"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxLoanSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Loan not found"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box_movement/{cash_box_id}": {
            "get": {
                "tags": [
                    "Cash Box Movement"
                ],
                "summary": "List cash box movements",
                "description": "Get the movements related to one cash box",
                "operationId": "cash_box_movement.show",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    },
                    {
                        "$ref": "#/components/parameters/FiltersCashBoxMovementParameter"
                    },
                    {
                        "name": "cash_box_id",
                        "in": "path",
                        "description": "Cash Box Id to filter movements",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxMovement"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            }
        },
        "/cash_box_movement": {
            "post": {
                "tags": [
                    "Cash Box Movement"
                ],
                "summary": "Store a Cash Box Movement",
                "description": "Store the Cash Box Movement with data specified",
                "operationId": "cash_box_movement.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxMovement"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxMovement"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/cash_box_movement/between_cash_boxes": {
            "post": {
                "tags": [
                    "Cash Box Movement"
                ],
                "summary": "Store a Movement between cash boxes",
                "description": "Store the Movement between cash boxes with data specified",
                "operationId": "cash_box_movement.between_cash_boxes",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CashBoxMovement"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CashBoxMovement"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/circuit": {
            "get": {
                "tags": [
                    "Payment method circuits"
                ],
                "summary": "List of payment method circuits",
                "description": "Get the list of circuits.",
                "operationId": "circuit.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CircuitEnum"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/dashboard": {
            "get": {
                "tags": [
                    "Dashboard"
                ],
                "summary": "List of Dashboard",
                "description": "Get the list of Dashboard",
                "operationId": "dashboard.index",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/dolar_value": {
            "get": {
                "tags": [
                    "Dolar Value"
                ],
                "summary": "List of Dolar Values",
                "description": "Get the list of Dolar Values",
                "operationId": "dolar_value.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/DolarValue"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Dolar Value"
                ],
                "summary": "Store a Dolar Value",
                "description": "Store the Dolar Value with data specified",
                "operationId": "dolar_value.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DolarValue"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DolarValue"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/dolar_value/{id}": {
            "get": {
                "tags": [
                    "Dolar Value"
                ],
                "summary": "Get a Dolar Value",
                "description": "Get the Dolar Value with the id specified",
                "operationId": "dolar_value.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DolarValue"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Dolar Value"
                ],
                "summary": "Updates a Dolar Value",
                "description": "Update the Dolar Value with data specified",
                "operationId": "dolar_value.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DolarValue"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DolarValue"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request: The provided Dolar value is not the latest record"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/expense_category": {
            "get": {
                "tags": [
                    "Expense Category"
                ],
                "summary": "List of Expense Categories",
                "description": "Get the list of Expense Categories",
                "operationId": "expense_category.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ExpenseCategory"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Expense Category"
                ],
                "summary": "Store a Expense Category",
                "description": "Store the Expense Category with data specified",
                "operationId": "expense_category.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ExpenseCategory"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExpenseCategory"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/expense_category/{id}": {
            "get": {
                "tags": [
                    "Expense Category"
                ],
                "summary": "Get a Expense Category",
                "description": "Get the Expense Category with the id specified",
                "operationId": "expense_category.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExpenseCategory"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Expense Category"
                ],
                "summary": "Updates a Expense Category",
                "description": "Update the Expense Category with data specified",
                "operationId": "expense_category.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ExpenseCategory"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExpenseCategory"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Expense Category"
                ],
                "summary": "Deletes a Expense Category",
                "description": "Deletes the Expense Category specified",
                "operationId": "expense_category.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/api/guest/{url_string}/login": {
            "post": {
                "summary": "Guest user login",
                "description": "Allow a guest user to login with URL string and access code.",
                "operationId": "c397b2f421d4791acd1c843338988149",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "url_string",
                                    "access_code"
                                ],
                                "properties": {
                                    "url_string": {
                                        "description": "URL string for identification",
                                        "type": "string"
                                    },
                                    "access_code": {
                                        "description": "Access code for validation",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GuestUserResource"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized - Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Invalid access code or URL"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/guest_auth/check_token": {
            "post": {
                "tags": [
                    "Auth",
                    "Guest Auth",
                    "Guest",
                    "Login"
                ],
                "summary": "Check token",
                "description": "Validate a token and fetch the guest user",
                "operationId": "guest_auth.checkToken",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/guest_auth/logout": {
            "post": {
                "tags": [
                    "Auth",
                    "Guest",
                    "Guest Auth",
                    "Logout"
                ],
                "summary": "Logout",
                "description": "Logout and forget the token to use the API",
                "operationId": "guest_auth.logout",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    }
                }
            }
        },
        "/api/guest-management": {
            "post": {
                "summary": "Store a new guest user",
                "description": "Create a new guest user by providing necessary details like type, id, email, and expiration.",
                "operationId": "fb5af62d0d2a98bde66f58d894215744",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "guest_type_id",
                                    "guest_id",
                                    "email",
                                    "expiration"
                                ],
                                "properties": {
                                    "guest_type_id": {
                                        "description": "The id of the type of guest",
                                        "type": "number"
                                    },
                                    "guest_id": {
                                        "description": "The unique identifier for the guest, such as the id of an investor",
                                        "type": "integer"
                                    },
                                    "email": {
                                        "description": "The guest's email address to which the credentials will be sent",
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "expiration": {
                                        "description": "The expiration date of the guest access",
                                        "type": "string",
                                        "format": "date"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Guest user created successfully"
                    }
                }
            }
        },
        "/instantiated_project_task_status": {
            "get": {
                "tags": [
                    "Instantiated Project task status"
                ],
                "summary": "List of task status for Instantiated Projects",
                "description": "Get the list of task statuses.",
                "operationId": "instantiated_project_task_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/InstantiatedProjectTaskStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/investor": {
            "get": {
                "tags": [
                    "Investor"
                ],
                "summary": "List of Investor",
                "description": "Get the list of Investor",
                "operationId": "investor.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/InvestorResource"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Investor"
                ],
                "summary": "Store a Investor",
                "description": "Store the Investor with data specified",
                "operationId": "investor.store",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorResource"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/investor/{id}": {
            "get": {
                "tags": [
                    "Investor"
                ],
                "summary": "Get a Investor",
                "description": "Get the Investor with the id specified",
                "operationId": "investor.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorResource"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Investor"
                ],
                "summary": "Updates a Investor",
                "description": "Update the Investor with data specified",
                "operationId": "investor.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorResource"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Investor"
                ],
                "summary": "Deletes a Investor",
                "description": "Deletes the Investor specified",
                "operationId": "investor.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                }
            }
        },
        "/guest/investor/project_unit_sale": {
            "get": {
                "tags": [
                    "Project Unit Sale",
                    "Guest",
                    "Project",
                    "Project unit",
                    "Investor"
                ],
                "summary": "List of Project unit sales.",
                "description": "Get a list of Project Unit Sales",
                "operationId": "guest.project_unit_sale.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnitSale"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            }
        },
        "/guest/investor/project_unit_sale/{id}": {
            "get": {
                "tags": [
                    "Project",
                    "Project Unit",
                    "Project Unit Sale",
                    "Sale",
                    "Investor",
                    "Condition",
                    "Account"
                ],
                "summary": "Get a Project Unit Sale",
                "description": "Get the Project Unit Sale with the id specified",
                "operationId": "guest.project_unit_sale.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnitSale"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            }
        },
        "/guest/investor/project_unit_sale_condition/{project_unit_sale_id}/investor_receivables": {
            "get": {
                "tags": [
                    "Sale",
                    "Project",
                    "Project Unit",
                    "Investor"
                ],
                "summary": "List of Conditions for a Project Unit Sale",
                "description": "Get the list of sale conditions",
                "operationId": "guest.project_unit_sale_condition.list",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/InvestorReceivable"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/guest/investor/project_unit_sale/{project_unit_sale_id}/investor_receivables/{investor_receivable_id}": {
            "get": {
                "tags": [
                    "Investor",
                    "Guest",
                    "InvestorReceivable",
                    "Payment",
                    "ReceivedPayment",
                    "ProjectUnitSale",
                    "Project",
                    "Sale",
                    "Account"
                ],
                "summary": "Get the detail on an Investor Receivable",
                "description": "Get the detail on an Investor Receivable with the specified id, and its payments, if applicable",
                "operationId": "guest.investor_receivable.show",
                "parameters": [
                    {
                        "name": "project_unit_sale_id",
                        "in": "path",
                        "description": "ID of the ProjectUnitSale",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "investor_receivable_id",
                        "in": "path",
                        "description": "ID of the InvestorReceivable",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorReceivable"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/guest/investor/project": {
            "get": {
                "tags": [
                    "Investor",
                    "Guest",
                    "Projects",
                    "Project"
                ],
                "summary": "List of Project",
                "description": "Get the list of Project",
                "operationId": "guest.investor.project.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Project"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            }
        },
        "/guest/investor/project/{id}": {
            "get": {
                "tags": [
                    "Guest",
                    "Investor",
                    "Project"
                ],
                "summary": "Get a Project",
                "description": "Get the Project with the id specified",
                "operationId": "guest.investor.project.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            }
        },
        "/guest/investor/project/{project_id}/project_unit": {
            "get": {
                "tags": [
                    "Investor",
                    "Guest",
                    "Project",
                    "Project unit"
                ],
                "summary": "Get a list of project units",
                "description": "Get a list of project units",
                "operationId": "guest.project_unit.list",
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "ID of the Project",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnit"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Model Not found"
                    },
                    "500": {
                        "description": "Internal error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/guest/investor/received_payment/by_sale/{project_unit_sale_id}": {
            "get": {
                "tags": [
                    "Received Payment",
                    "Payment",
                    "Investor",
                    "Project",
                    "Sale",
                    "Receivable",
                    "Guest"
                ],
                "summary": "List Received payments related to a sale",
                "operationId": "guest.investor.received_payment.by_sale",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ReceivedPayment"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_unit_sale_condition/{project_unit_sale_id}/investor_receivables": {
            "get": {
                "tags": [
                    "Sale",
                    "Project",
                    "Project Unit",
                    "Investor"
                ],
                "summary": "List of Conditions for a Project Unit Sale",
                "description": "Get the list of sale conditions",
                "operationId": "project_unit_sale_condition.list",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/InvestorReceivable"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            }
        },
        "project_unit_sale/{project_unit_sale_id}/investor_receivables/{investor_receivable_id}": {
            "get": {
                "tags": [
                    "Investor, InvestorReceivable, Payment, ReceivedPayment, ProjectUnitSale, Projec, Sale, Account"
                ],
                "summary": "Get the detail on an Investor Receivable",
                "description": "Get the detail on an Investor Receivable with the specified id, and its payments, if applicable",
                "operationId": "investor_receivable.show",
                "parameters": [
                    {
                        "name": "project_unit_sale_id",
                        "in": "path",
                        "description": "ID of the ProjectUnitSale",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "investor_receivable_id",
                        "in": "path",
                        "description": "ID of the InvestorReceivable",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InvestorReceivable"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/notification": {
            "get": {
                "tags": [
                    "Notification"
                ],
                "summary": "List of Notification",
                "description": "Get the list of Notification",
                "operationId": "notification.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Notification"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/notification/list-unread": {
            "get": {
                "tags": [
                    "Notification"
                ],
                "summary": "List of Notification",
                "description": "Get the list of Notification",
                "operationId": "notification.listUnread",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Notification"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/notification/mark-as-read/{id}": {
            "post": {
                "tags": [
                    "Notification"
                ],
                "summary": "Mark Notification as Read",
                "description": "Marks the selected notification as read",
                "operationId": "notification.markAsRead",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the notification to mark as read",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "oldest_id"
                                ],
                                "properties": {
                                    "oldest_id": {
                                        "description": "The oldest id to mark as read.",
                                        "type": "integer",
                                        "format": "int64",
                                        "example": "1"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Notification"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/notification/mark-all-as-read": {
            "post": {
                "tags": [
                    "Notification"
                ],
                "summary": "Mark all notifications as read",
                "description": "Marks all pending notifications of the specified user as read",
                "operationId": "notification.mark-all-as-read",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "400": {
                        "description": "Error when marking notifications as read"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/notification/get-new": {
            "post": {
                "tags": [
                    "Notification"
                ],
                "summary": "Get new notifications",
                "description": "Get the notifications that follow a certain id",
                "operationId": "notification.get-new",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "newest_id",
                                    "max_quantity"
                                ],
                                "properties": {
                                    "newest_id": {
                                        "description": "The newest id to get the notifications. 0 if no notifications are present to get all.",
                                        "type": "integer",
                                        "format": "int64",
                                        "example": "1"
                                    },
                                    "max_quantity": {
                                        "description": "The max quantity of notifications to get.",
                                        "type": "integer",
                                        "format": "int64",
                                        "example": "5"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Notification"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/payment_method_condition_offer": {
            "get": {
                "tags": [
                    "Payment Method Condition Offer"
                ],
                "summary": "List of types of condition offer",
                "description": "Get the list of condition offer types.",
                "operationId": "payment_method_condition_offer.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PaymentMethod"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/payment_method": {
            "get": {
                "tags": [
                    "Payment Method"
                ],
                "summary": "List of Payment Method",
                "description": "Get the list of Payment Method.",
                "operationId": "payment_method.index",
                "parameters": [
                    {
                        "name": "includeBalanceZero",
                        "in": "query",
                        "description": "Include the payment method with Balance Zero (true/false)",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PaymentMethod"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_configuration": {
            "get": {
                "tags": [
                    "Project",
                    "Project Configuration"
                ],
                "summary": "List of Project Configurations",
                "description": "Get the list of Project Configurations",
                "operationId": "project_configuration.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectConfiguration"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Project Configuration"
                ],
                "summary": "Store a Task",
                "description": "Store the Project with data specified",
                "operationId": "project_configuration.store",
                "requestBody": {
                    "description": "Array of stages with tasks and notifications",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "stages"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "example name"
                                    },
                                    "stages": {
                                        "type": "array",
                                        "items": {
                                            "required": [
                                                "stage",
                                                "tasks"
                                            ],
                                            "properties": {
                                                "stage": {
                                                    "type": "number",
                                                    "format": "int64",
                                                    "example": 1
                                                },
                                                "tasks": {
                                                    "type": "array",
                                                    "items": {
                                                        "required": [
                                                            "name",
                                                            "day"
                                                        ],
                                                        "properties": {
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Nombre"
                                                            },
                                                            "predecessor_task_id": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 1
                                                            },
                                                            "start_type": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 11
                                                            },
                                                            "task_id": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 1
                                                            },
                                                            "day": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 10
                                                            },
                                                            "description": {
                                                                "type": "string",
                                                                "example": "Description"
                                                            },
                                                            "notification": {
                                                                "properties": {
                                                                    "day": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 5
                                                                    },
                                                                    "user_id": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 1
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "example": "Recordatorio: La tarea está próxima"
                                                                    },
                                                                    "timing": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 1
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectConfiguration"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/project_configuration/{id}": {
            "get": {
                "tags": [
                    "Project",
                    "Configuration",
                    "Project configuration"
                ],
                "summary": "Get a Project configuration",
                "description": "Get the Project configuration by the id specified",
                "operationId": "project_configuration.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectConfiguration"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Project Configuration"
                ],
                "summary": "Edit Tasks",
                "description": "Edit the tasks associated with the specified project configuration.",
                "operationId": "project_configuration.edit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the project configuration",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Array of stages with tasks and notifications",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "stages"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "example name"
                                    },
                                    "stages": {
                                        "type": "array",
                                        "items": {
                                            "required": [
                                                "stage",
                                                "tasks"
                                            ],
                                            "properties": {
                                                "stage": {
                                                    "type": "number",
                                                    "format": "int64",
                                                    "example": 1
                                                },
                                                "tasks": {
                                                    "type": "array",
                                                    "items": {
                                                        "required": [
                                                            "name",
                                                            "start_type",
                                                            "day"
                                                        ],
                                                        "properties": {
                                                            "name": {
                                                                "type": "string",
                                                                "example": "Nombre"
                                                            },
                                                            "predecessor_task_id": {
                                                                "type": "string",
                                                                "format": "int64",
                                                                "example": 1
                                                            },
                                                            "start_type": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 11
                                                            },
                                                            "task_id": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 1
                                                            },
                                                            "day": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 10
                                                            },
                                                            "description": {
                                                                "type": "string",
                                                                "example": "Description"
                                                            },
                                                            "project_configuration_id": {
                                                                "type": "number",
                                                                "format": "int64",
                                                                "example": 1
                                                            },
                                                            "notification": {
                                                                "properties": {
                                                                    "day": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 5
                                                                    },
                                                                    "user_id": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 1
                                                                    },
                                                                    "message": {
                                                                        "type": "string",
                                                                        "example": "Recordatorio: La tarea está próxima"
                                                                    },
                                                                    "timing": {
                                                                        "type": "number",
                                                                        "format": "int64",
                                                                        "example": 1
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Project Configuration"
                ],
                "summary": "Deletes a Project Configuration",
                "description": "Deletes the Project Configuration specified.",
                "operationId": "project_configuration.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project_configuration/{id}/duplicate": {
            "post": {
                "tags": [
                    "Project",
                    "Configuration",
                    "Project configuration",
                    "Duplicate",
                    "Duplication"
                ],
                "summary": "Duplicate a project configuration",
                "description": "Duplicate the project configuration with the specified id, with its tasks and notifications",
                "operationId": "project_configuration.duplicate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "description": "The Id of the newly created project configuration",
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            }
        },
        "/project": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "List of Project",
                "description": "Get the list of Project",
                "operationId": "project.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Project"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Store a Project",
                "description": "Store the Project with data specified",
                "operationId": "project.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Project"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/project/{id}": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "Get a Project",
                "description": "Get the Project with the id specified",
                "operationId": "project.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Project"
                ],
                "summary": "Updates a Project",
                "description": "Update the Project with data specified",
                "operationId": "project.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Project"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Project"
                ],
                "summary": "Deletes a Project",
                "description": "Deletes the Project specified",
                "operationId": "project.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                }
            }
        },
        "/project/{project_id}/functional_unit_exists": {
            "post": {
                "tags": [
                    "Project"
                ],
                "summary": "Verifies if Functional Unit Id exists in the project",
                "description": "Checks whether the unique id is taken in the project",
                "operationId": "project_unit.functional_unit_exists",
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "The Project Unique identifier",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "1"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "functional_unit_id": {
                                        "description": "The functional unit id to check if exists or not.",
                                        "type": "string",
                                        "maxLength": 255,
                                        "minLength": 1,
                                        "example": "PBA"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "exists": {
                                            "description": "The functional unit exists or not.",
                                            "type": "boolean",
                                            "example": "true"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project/{project_id}/shift_task": {
            "post": {
                "tags": [
                    "Project tasks shift notification"
                ],
                "summary": "Changes the dates of a task and its derivatives",
                "operationId": "project_unit.shift_task",
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "The Project Unique identifier",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64",
                            "example": "1"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "id": {
                                        "description": "The id of the task to be shifted",
                                        "type": "integer",
                                        "format": "int64",
                                        "example": "100"
                                    },
                                    "days": {
                                        "description": "The amount of days the task will be moved. Can be negative",
                                        "type": "integer",
                                        "format": "int64",
                                        "example": "5"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Project"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project/{project_id}/dashboard": {
            "get": {
                "tags": [
                    "Project"
                ],
                "summary": "List of Dashboard",
                "description": "Get the list of Dashboard",
                "operationId": "project.dashboard",
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "The Project Unique identifier",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64",
                            "example": "1"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/projects/{project_id}/status": {
            "put": {
                "tags": [
                    "Project",
                    "Status"
                ],
                "summary": "Update project status",
                "description": "Updates the status of a project. Valid status values are 1 (Draft), 2 (Open), and 3 (Completed).",
                "operationId": "project.status",
                "parameters": [
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "The ID of the project to update",
                        "required": true
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "status"
                                ],
                                "properties": {
                                    "status": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Project status updated successfully"
                    },
                    "400": {
                        "description": "Invalid status transition"
                    },
                    "404": {
                        "description": "Project not found"
                    }
                }
            }
        },
        "/project_status": {
            "get": {
                "tags": [
                    "Project Status"
                ],
                "summary": "List of Project Status",
                "description": "Get the list of Project statuses.",
                "operationId": "project_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_task_timing": {
            "get": {
                "tags": [
                    "Project Task Notification Timing"
                ],
                "summary": "List of Task Notification Timing",
                "description": "Get the list of Task Notification Timing.",
                "operationId": "project_timing.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectTaskNotificationTiming"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_task_stage": {
            "get": {
                "tags": [
                    "Project Task Stage"
                ],
                "summary": "List of Task Stage",
                "description": "Get the list of Task Stages.",
                "operationId": "project_task_stage.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectTaskStage"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_task_start_type": {
            "get": {
                "tags": [
                    "Project Task Start Type"
                ],
                "summary": "List of Task Stage",
                "description": "Get the list of Task Start Type.",
                "operationId": "project_task_start_type.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectTaskStartType"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_unit": {
            "get": {
                "tags": [
                    "Project Unit"
                ],
                "summary": "List of Project Units",
                "description": "Get the list of Project Units.",
                "operationId": "project_unit.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    },
                    {
                        "name": "project_id",
                        "in": "query",
                        "description": "The project_id to filter units by.",
                        "required": false,
                        "schema": {
                            "type": "number",
                            "format": "int64",
                            "example": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnit"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            },
            "post": {
                "tags": [
                    "Project Unit"
                ],
                "summary": "Store a Project Unit",
                "description": "Store the Project Unit with data specified.",
                "operationId": "project_unit.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectUnit"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnit"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/project_unit/{id}": {
            "get": {
                "tags": [
                    "Project Unit"
                ],
                "summary": "Get a Project Unit",
                "description": "Get the Project Unit with the id specified.",
                "operationId": "project_unit.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnit"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model Not found."
                    }
                }
            },
            "put": {
                "tags": [
                    "Project Unit"
                ],
                "summary": "Updates a Project Unit",
                "description": "Update the Project Unit with data specified.",
                "operationId": "project_unit.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProjectUnit"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnit"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Project Unit"
                ],
                "summary": "Deletes a Project Unit",
                "description": "Deletes the Project Unit specified.",
                "operationId": "project_unit.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project_unit/available_by_project/{project_id}": {
            "get": {
                "tags": [
                    "Project Unit",
                    "Project"
                ],
                "summary": "List of available Project Units for a specific project",
                "description": "Get the list of Project Units with status Available for a specific project.",
                "operationId": "project_unit.available_by_project",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    },
                    {
                        "name": "project_id",
                        "in": "path",
                        "description": "The project_id to filter units by.",
                        "schema": {
                            "type": "number",
                            "format": "int64",
                            "example": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnit"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            }
        },
        "/project_unit/{project_unit_id}/reserve": {
            "put": {
                "tags": [
                    "Project Unit",
                    "Reserve",
                    "Reservation",
                    "Sale"
                ],
                "summary": "Set a Project Unit as Reserved",
                "description": "Sets the Project Unit specified as Reserved.",
                "operationId": "project_unit.reserve",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of project unit to update with status Reserved",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project_unit/{project_unit_id}/cancel_reservation": {
            "put": {
                "tags": [
                    "Project Unit",
                    "Reserve",
                    "Reservation",
                    "Sale"
                ],
                "summary": "Set a reserved Project Unit as available",
                "description": "Sets the Project Unit specified as Reserved.",
                "operationId": "project_unit.cancelReservation",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of project unit to update with status Available",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project/{project_id}/list_exit_prices": {
            "get": {
                "tags": [
                    "Project",
                    "Project Unit",
                    "Sale",
                    "Exit price",
                    "Price"
                ],
                "summary": "Lists all project units",
                "description": "Project units format mainly focused on their entry and exit prices",
                "operationId": "project.listExitPrices",
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/project-units/exit-prices": {
            "put": {
                "tags": [
                    "Project Units",
                    "Project",
                    "Exit price"
                ],
                "summary": "Update exit prices for multiple project units",
                "operationId": "project_unit.updateExitPrices",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateExitPricesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Exit prices updated successfully, no content returned"
                    },
                    "422": {
                        "description": "Unprocessable Entity: Exit price is invalid (must be higher than total_price)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Precio inválido"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request due to invalid input",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "The given data was invalid."
                                        },
                                        "errors": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/project_unit_destination": {
            "get": {
                "tags": [
                    "Project Unit Destination"
                ],
                "summary": "List of Unit Destination",
                "description": "Get the list of Unit destinations.",
                "operationId": "project_unit_destination.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectUnitDestination"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_unit_sale/{project_unit_sale_id}/project_unit_sale_conditions": {
            "get": {
                "tags": [
                    "Project Unit Sale Condition"
                ],
                "summary": "List of Project Units Sale Condition",
                "description": "Get the list of Project Units Sale Condition.",
                "operationId": "project_unit_sale_condition.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnitSaleCondition"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            }
        },
        "/project_unit_sale/{id}": {
            "get": {
                "tags": [
                    "Project",
                    "Project Unit",
                    "Project Unit Sale",
                    "Sale",
                    "Investor",
                    "Condition",
                    "Account"
                ],
                "summary": "Get a Project Unit Sale",
                "description": "Get the Project Unit Sale with the id specified",
                "operationId": "project_unit_sale.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnitSale"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Project",
                    "Project unit sale",
                    "Investor",
                    "Received payment",
                    "Investor receivable"
                ],
                "summary": "Deletes a Project Unit Sale",
                "description": "Deletes the Project Unit Sale. Deletes its Received Payments, updates the investor's balance and restores the unit's status as available for sale again.",
                "operationId": "project_unit_sale.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the project unit sale",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    },
                    "409": {
                        "description": "There is at least one cash account with not enough credits to remove a payment"
                    }
                }
            }
        },
        "/project_unit_sale": {
            "get": {
                "tags": [
                    "Project Unit Sale",
                    "Project",
                    "Sale",
                    "Condition",
                    "Investor",
                    "Receivable",
                    "Received Payment",
                    "Payment"
                ],
                "summary": "List of Project unit sales.",
                "description": "Get a list of Project Unit Sales",
                "operationId": "project_unit_sale.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ProjectUnitSale"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Project Unit Sale"
                ],
                "summary": "Store a Project Unit Sale",
                "description": "Store the Project Unit Sale with data specified.",
                "operationId": "project_unit_sale.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "investor_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "operation": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_unit_id": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "example": 4
                                        }
                                    },
                                    "conditions": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/ProjectUnitSaleConditionResource"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProjectUnitSale"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/project_unit_sale/pay": {
            "post": {
                "tags": [
                    "Project Unit Sale"
                ],
                "summary": "Store a Project Unit Sale",
                "description": "Store the Project Unit Sale with data specified",
                "operationId": "project_unit_sale.pay",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "project_unit_sale_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "payment_method": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "circuit": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "currency": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "amount": {
                                        "type": "number",
                                        "example": 300
                                    },
                                    "cash_box_id": {
                                        "type": "number",
                                        "example": 5
                                    },
                                    "observation": {
                                        "type": "string",
                                        "example": "En buen estado"
                                    },
                                    "files": {
                                        "description": "Archivos a subir",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/api/project_unit_sale/{project_unit_sale_id}/circuits_by_payment_method": {
            "get": {
                "tags": [
                    "Project Unit Sales"
                ],
                "summary": "Get available circuits by payment method for a specific project unit sale",
                "description": "Returns a list of Circuits available for the given project unit sale and payment method.",
                "operationId": "project_unit_sale.circuits_by_payment_method",
                "parameters": [
                    {
                        "name": "project_unit_sale_id",
                        "in": "path",
                        "description": "ID of the project unit sale",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 123
                        }
                    },
                    {
                        "name": "payment_method",
                        "in": "query",
                        "description": "The payment method (integer enum value)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CircuitEnum"
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/project_unit_sale/{project_unit_sale_id}/refinance": {
            "post": {
                "tags": [
                    "Project Unit Sale",
                    "Investor Receivable",
                    "ReFinance",
                    "Payment",
                    "Received Payment",
                    "CAC"
                ],
                "summary": "Refinance CAC payments in a project unit sale",
                "description": "Replace all unpaid CAC receivables with new ones under an updated schedule",
                "operationId": "project_unit_sale.refinance",
                "requestBody": {
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/project_unit_status": {
            "get": {
                "tags": [
                    "Project Unit Status"
                ],
                "summary": "List of Unit Status",
                "description": "Get the list of Unit statuses.",
                "operationId": "project_unit_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectUnitStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/project_unit_type": {
            "get": {
                "tags": [
                    "Project Unit Type"
                ],
                "summary": "List of Unit Type",
                "description": "Get the list of Unit Types.",
                "operationId": "project_unit_type.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProjectUnitType"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/property": {
            "get": {
                "tags": [
                    "Property"
                ],
                "summary": "List of Property",
                "description": "Get the list of Property",
                "operationId": "property.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Property"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Property"
                ],
                "summary": "Store a Property",
                "description": "Store the Property with data specified",
                "operationId": "property.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Property"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Property"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/property/{id}": {
            "get": {
                "tags": [
                    "Property"
                ],
                "summary": "Get a Property",
                "description": "Get the Property with the id specified",
                "operationId": "property.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Property"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Property"
                ],
                "summary": "Updates a property",
                "description": "Update the property with data specified",
                "operationId": "property.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Property"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Property"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Property"
                ],
                "summary": "Deletes a Property",
                "description": "Deletes the Property specified",
                "operationId": "property.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/property_status": {
            "get": {
                "tags": [
                    "Property Status"
                ],
                "summary": "List of Property Status",
                "description": "Get the list of Property statuses.",
                "operationId": "property_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PropertyStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/purchase_order": {
            "get": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "List of Purchase Orders.",
                "description": "Get the list of Purchase Orders",
                "operationId": "purchase_order.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/PurchaseOrder"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "Store a Purchase Order",
                "description": "Store the Purchase Order with data specified.",
                "operationId": "purchase_order.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseOrder"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PurchaseOrder"
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/purchase_order/{id}": {
            "get": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "Get a Purchase Order",
                "description": "Get the Purchase Order with the id specified",
                "operationId": "purchase_order.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseOrder"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "Updates a Purchase Order",
                "description": "Update the Purchase Order with data specified",
                "operationId": "purchase_order.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseOrder"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseOrder"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "Deletes a Purchase Order",
                "description": "Deletes the Purchase Order specified",
                "operationId": "purchase_order.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                }
            }
        },
        "/purchase_order/pay": {
            "post": {
                "tags": [
                    "Purchase Order"
                ],
                "summary": "Pay a Project Unit Sale",
                "description": "Pay the Project Unit Sale with data specified",
                "operationId": "purchase_order.pay",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "purchase_order_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "project_id": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "payment_method": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "circuit": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "currency": {
                                        "type": "number",
                                        "example": 1
                                    },
                                    "amount": {
                                        "type": "number",
                                        "example": 300
                                    },
                                    "cash_box_id": {
                                        "type": "number",
                                        "example": 5
                                    },
                                    "observation": {
                                        "type": "string",
                                        "example": "En buen estado"
                                    },
                                    "files": {
                                        "description": "Archivos a subir",
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Payment"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            }
        },
        "/purchase_order/{id}/item": {
            "get": {
                "tags": [
                    "Purchase Order Item"
                ],
                "summary": "List of Purchase Orders Items.",
                "description": "Get the list of Purchase Orders Items",
                "operationId": "purchase_order_items.index",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of parent purchase order",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/PurchaseOrder"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "Purchase Order Item"
                ],
                "summary": "Store a Purchase Order Item",
                "description": "Store the Purchase Order with data specified.",
                "operationId": "purchase_order_items.store",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of parent purchase order",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseOrder"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PurchaseOrder"
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/purchase_order/{id}/item/{itemId}": {
            "get": {
                "tags": [
                    "Purchase Order Item"
                ],
                "summary": "Get a Purchase Order Items",
                "description": "Get the Purchase Order with the id specified items.",
                "operationId": "purchase_order_items.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of parent purchase order",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseOrder"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                }
            },
            "put": {
                "tags": [
                    "Purchase Order Item"
                ],
                "summary": "Updates a Purchase Order Item",
                "description": "Update the Purchase Order Item with data specified",
                "operationId": "purchase_order_item.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of parent purchase order",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseOrder"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseOrder"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Purchase Order Item"
                ],
                "summary": "Deletes a Purchase Order Item",
                "description": "Deletes the Purchase Order Item specified",
                "operationId": "purchase_order_item.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of parent purchase order",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                }
            }
        },
        "/purchase_order_status": {
            "get": {
                "tags": [
                    "Purchase Order Status"
                ],
                "summary": "List of Purchase Order Status",
                "description": "Get the list of Purchase Order statuses.",
                "operationId": "purchase_order_status.index",
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PurchaseOrderStatus"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/received_payment/{id}": {
            "get": {
                "tags": [
                    "Received Payment",
                    "Payment",
                    "Sale",
                    "Receivable"
                ],
                "summary": "Fetch a Received Payment by ID",
                "operationId": "received_payment.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of Received Payment to fetch",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReceivedPayment"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Received Payment",
                    "Payment",
                    "Investor",
                    "Project",
                    "Sale",
                    "Receivable"
                ],
                "summary": "Deletes a Received Payment",
                "operationId": "received_payment.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    },
                    "409": {
                        "description": "A cash account/box has no funds to return a payment"
                    }
                }
            }
        },
        "/received_payment/by_sale/{project_unit_sale_id}": {
            "get": {
                "tags": [
                    "Received Payment",
                    "Payment",
                    "Investor",
                    "Project",
                    "Sale",
                    "Receivable"
                ],
                "summary": "List Received payments related to a sale",
                "operationId": "received_payment.by_sale",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/ReceivedPayment"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/roles": {
            "get": {
                "tags": [
                    "Roles"
                ],
                "summary": "List of Roles",
                "description": "Get the list of Roles",
                "operationId": "roles.index",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Role"
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/simulator_condition_offer/list/{id}": {
            "get": {
                "tags": [
                    "Simulator Condition Offer"
                ],
                "summary": "List of Simulator Condition Offer",
                "description": "Get the list of Simulator Condition Offer.",
                "operationId": "simulator_condition_offer.list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of simulator",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/SimulatorConditionOffer"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            }
        },
        "/simulator_condition_offer": {
            "post": {
                "tags": [
                    "Simulator Condition Offer"
                ],
                "summary": "Store a Simulator Condition Offer",
                "description": "Store the Simulator Condition Offer with data specified.",
                "operationId": "simulator_condition_offer.store",
                "requestBody": {
                    "description": "Array of conditions",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "offers"
                                ],
                                "properties": {
                                    "offers": {
                                        "type": "array",
                                        "items": {
                                            "required": [
                                                "offers"
                                            ],
                                            "properties": {
                                                "payment_method": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "simulator_id": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "circuit": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "currency": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "observation": {
                                                    "type": "string",
                                                    "example": "The observation"
                                                },
                                                "date": {
                                                    "type": "number",
                                                    "example": 1704988954
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "example": 1000
                                                },
                                                "m2": {
                                                    "type": "number",
                                                    "example": 50
                                                },
                                                "m2_value": {
                                                    "type": "number",
                                                    "example": 1100
                                                },
                                                "dollar_amount": {
                                                    "type": "number",
                                                    "example": 2000
                                                },
                                                "properties_ids": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer",
                                                        "example": 4
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SimulatorConditionOffer"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/simulator_condition_offer/{id}": {
            "put": {
                "tags": [
                    "Simulator Condition Offer"
                ],
                "summary": "Updates a Simulator Condition Offer",
                "description": "Update the Simulator Condition Offer with data specified.",
                "operationId": "simulator_condition_offer.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of simulator",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Array of conditions",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "conditions"
                                ],
                                "properties": {
                                    "conditions": {
                                        "type": "array",
                                        "items": {
                                            "required": [
                                                "conditions"
                                            ],
                                            "properties": {
                                                "payment_method": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "circuit": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "currency": {
                                                    "type": "number",
                                                    "example": 1
                                                },
                                                "observation": {
                                                    "type": "string",
                                                    "example": "The observation"
                                                },
                                                "date": {
                                                    "type": "number",
                                                    "example": 1704988954
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "example": 1000
                                                },
                                                "m2": {
                                                    "type": "number",
                                                    "example": 50
                                                },
                                                "m2_value": {
                                                    "type": "number",
                                                    "example": 1100
                                                },
                                                "dollar_amount": {
                                                    "type": "number",
                                                    "example": 2000
                                                },
                                                "properties_ids": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "integer",
                                                        "example": 4
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SimulatorConditionOffer"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/simulator": {
            "get": {
                "tags": [
                    "Simulator"
                ],
                "summary": "List of Simulator",
                "description": "Get the list of Simulator.",
                "operationId": "simulator.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Simulator"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    }
                }
            },
            "post": {
                "tags": [
                    "Simulator"
                ],
                "summary": "Store a Simulator",
                "description": "Store the Simulator with data specified.",
                "operationId": "simulator.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Simulator"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Simulator"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            }
        },
        "/simulator/{id}": {
            "get": {
                "tags": [
                    "Simulator"
                ],
                "summary": "Get a Simulator",
                "description": "Get the Simulator with the id specified.",
                "operationId": "simulator.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Simulator"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model Not found."
                    }
                }
            },
            "put": {
                "tags": [
                    "Simulator"
                ],
                "summary": "Updates a Simulator",
                "description": "Update the Simulator with data specified.",
                "operationId": "simulator.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Simulator"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Simulator"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "422": {
                        "description": "Validation error."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Simulator"
                ],
                "summary": "Deletes a Simulator",
                "description": "Deletes the Simulator specified.",
                "operationId": "simulator.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful operation."
                    },
                    "403": {
                        "description": "Not Authorized."
                    },
                    "404": {
                        "description": "Model not found."
                    }
                }
            }
        },
        "/supplier_category": {
            "get": {
                "tags": [
                    "Supplier Category"
                ],
                "summary": "List of Supplier Categories",
                "description": "Get the list of Supplier categories",
                "operationId": "supplier_category.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/SupplierCategory"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/supplier_company": {
            "get": {
                "tags": [
                    "Supplier Company"
                ],
                "summary": "List of Supplier Companies",
                "description": "Get the list of Supplier Companies",
                "operationId": "supplier_company.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/SupplierCompany"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/supplier": {
            "get": {
                "tags": [
                    "Supplier"
                ],
                "summary": "List of Suppliers",
                "description": "Get the list of Suppliers",
                "operationId": "supplier.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Supplier"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Supplier"
                ],
                "summary": "Store a Supplier",
                "description": "Store the Supplier with data specified. If you send company_id company.name will be ignored",
                "operationId": "supplier.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Supplier"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Supplier"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/supplier/{id}": {
            "get": {
                "tags": [
                    "Supplier"
                ],
                "summary": "Get a Supplier",
                "description": "Get the Supplier with the id specified",
                "operationId": "supplier.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Supplier"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model Not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Supplier"
                ],
                "summary": "Updates a Supplier",
                "description": "Update the Supplier with data specified",
                "operationId": "supplier.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Supplier"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Supplier"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Supplier"
                ],
                "summary": "Deletes a Supplier",
                "description": "Deletes the Supplier specified",
                "operationId": "supplier.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/supplier/{id}/calculate_total_amount": {
            "get": {
                "tags": [
                    "Supplier"
                ],
                "summary": "Get Supplier by ID",
                "description": "Retrieve detailed information about the Supplier with the specified ID.",
                "operationId": "supplier.calculate_total_amount",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the Supplier to retrieve.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Supplier"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden: The user is not authorized to access this resource."
                    },
                    "404": {
                        "description": "Not Found: The specified Investor Current Account was not found."
                    },
                    "422": {
                        "description": "Invalid input: The request input was not valid."
                    }
                }
            }
        },
        "/supplier/{id}/current_account": {
            "get": {
                "tags": [
                    "Supplier"
                ],
                "summary": "List of Supplier",
                "description": "Get the list of Supplier",
                "operationId": "supplier.current_account",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/Supplier"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not Authorized"
                    }
                }
            }
        },
        "/user": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "List of User",
                "description": "Get the list of User",
                "operationId": "user.index",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PaginationPerPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationPageParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSearchParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortByParameter"
                    },
                    {
                        "$ref": "#/components/parameters/PaginationSortDirectionParameter"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "allOf": [
                                        {
                                            "properties": {
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "$ref": "#/components/schemas/User"
                                                    }
                                                }
                                            },
                                            "type": "object"
                                        },
                                        {
                                            "$ref": "#/components/schemas/Paginator"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Store a User",
                "description": "Store the User with data specified",
                "operationId": "user.store",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/User"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not authorized"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/user/{id}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Get a User",
                "description": "Get the User with the id specified",
                "operationId": "user.show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to get",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Model Not found"
                    },
                    "403": {
                        "description": "Not authorized"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "User"
                ],
                "summary": "Updates a User",
                "description": "Update the User with data specified",
                "operationId": "user.update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to update",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/User"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not authorized"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "User"
                ],
                "summary": "Deletes a User",
                "description": "Deletes the User specified",
                "operationId": "user.destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of model to delete",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successful operation"
                    },
                    "403": {
                        "description": "Not authorized"
                    },
                    "404": {
                        "description": "Model not found"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        },
        "/user/change-password/{id}": {
            "put": {
                "tags": [
                    "User"
                ],
                "summary": "Change user password",
                "description": "Change the password of a specific user",
                "operationId": "user.changePassword",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the user",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Password changed successfully"
                    },
                    "403": {
                        "description": "Not Authorized"
                    },
                    "404": {
                        "description": "User not found"
                    },
                    "422": {
                        "description": "Validation error"
                    }
                },
                "security": [
                    {
                        "token": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "BiddingStatus": {
                "title": "Bidding Status Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Bidding Status.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Bidding Status.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "En progreso"
                    }
                },
                "type": "object"
            },
            "CacType": {
                "title": "CAC Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the CAC Type.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of one of the three CAC indexes for each period.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Costos de construcción"
                    }
                },
                "type": "object"
            },
            "CashBoxLoanComputedStatusEnum": {
                "title": "Computed status enum",
                "description": "Defines criteria for filtering cash box loans",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the computed status",
                        "type": "string",
                        "readOnly": true,
                        "example": "Admin"
                    },
                    "name": {
                        "description": "The name of the computed status",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Administrador"
                    }
                },
                "type": "object"
            },
            "CashBoxTypeEnum": {
                "title": "Cash Box Type Enum Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Cash Box Type Enum.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Cash Box Type Enum.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Main"
                    }
                },
                "type": "object"
            },
            "CircuitEnum": {
                "title": "Circuit Enum Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Circuit Enum.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Circuit Enum.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "A"
                    }
                },
                "type": "object"
            },
            "CurrencyEnum": {
                "title": "Currency Enum Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Currency Enum.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Currency Enum.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "USD"
                    }
                },
                "type": "object"
            },
            "GuestUserType": {
                "title": "Guest User Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the type of guest user.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The type of the guest user, which will corresspond to an entity of the system",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Efectivo"
                    }
                },
                "type": "object"
            },
            "InstantiatedProjectTaskStatus": {
                "title": "Instantiated Project task status enum",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the task status",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the task status",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Cochera"
                    }
                },
                "type": "object"
            },
            "MovementSubTypeEnum": {
                "title": "Movement Type Enum Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the movement sub_type Enum.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the movement sub_type Enum.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Deuda"
                    }
                },
                "type": "object"
            },
            "MovementTypeEnum": {
                "title": "Movement Type Enum Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the movement type Enum.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the movement type Enum.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Egreso"
                    }
                },
                "type": "object"
            },
            "PaymentMethodConditionOffer": {
                "title": "Payment Method Condition Offer Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Payment Condition Offer Method.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Payment Method Condition Offer.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Efectivo"
                    }
                },
                "type": "object"
            },
            "PaymentMethod": {
                "title": "Payment Method Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Payment Method.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Payment Method.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Efectivo"
                    }
                },
                "type": "object"
            },
            "ProjectMediaType": {
                "title": "Project Media Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the media type.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 3
                    },
                    "name": {
                        "description": "The name of the media type.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "HEADER"
                    }
                },
                "type": "object"
            },
            "ProjectStatus": {
                "title": "Project Status Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Status.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 3
                    },
                    "name": {
                        "description": "The name of the Project Status.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "CLOSED"
                    }
                },
                "type": "object"
            },
            "ProjectTaskNotificationTiming": {
                "title": "Project Task Notification Timing Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Task Notification Timing.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Project Task Notification Timing.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Antes del comienzo"
                    }
                },
                "type": "object"
            },
            "ProjectTaskStage": {
                "title": "Project Task Stage Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Task Stage.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Project Task Stage.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Comercial"
                    }
                },
                "type": "object"
            },
            "ProjectTaskStartType": {
                "title": "Project Task Start Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Task Start Type.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Project Task Start Type.",
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Comienzo a Comienzo"
                    }
                },
                "type": "object"
            },
            "ProjectUnitDestination": {
                "title": "Project Unit Destination Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Unit Destination.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Project Unit Destination.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Terreno"
                    }
                },
                "type": "object"
            },
            "ProjectUnitStatus": {
                "title": "Project Unit Status Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Unit Status.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 3
                    },
                    "name": {
                        "description": "The name of the Project Unit Status.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Vendido"
                    }
                },
                "type": "object"
            },
            "ProjectUnitType": {
                "title": "Project Unit Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Project Unit Type.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Project Unit Type.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Cochera"
                    }
                },
                "type": "object"
            },
            "PropertyStatus": {
                "title": "Property Status Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Property Status.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 3
                    },
                    "name": {
                        "description": "The name of the Property Status.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Disponible"
                    }
                },
                "type": "object"
            },
            "PurchaseOrderStatus": {
                "title": "Purchase Order Status Type Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Purchase Order Status.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Purchase Order Status.",
                        "type": "string",
                        "maxLength": 25,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Cochera"
                    }
                },
                "type": "object"
            },
            "Role": {
                "title": "Role Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Role",
                        "type": "string",
                        "readOnly": true,
                        "example": "Admin"
                    },
                    "name": {
                        "description": "The name of the Role",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "readOnly": true,
                        "example": "Administrador"
                    }
                },
                "type": "object"
            },
            "Paginator": {
                "properties": {
                    "current_page": {
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "first_page_url": {
                        "type": "string",
                        "example": "http://127.0.0.1:8000/api/supplier_category?page=1"
                    },
                    "links": {
                        "description": "Pagination links",
                        "properties": {
                            "first": {
                                "description": "The first page of results",
                                "type": "string",
                                "example": "http://localhost:8000/api/supplier_category?page=1"
                            },
                            "last": {
                                "description": "The last page of results",
                                "type": "string",
                                "example": "http://localhost:8000/api/supplier_category?page=3"
                            },
                            "prev": {
                                "description": "The previous page of results",
                                "type": "string",
                                "example": "http://localhost:8000/api/supplier_category?page=1"
                            },
                            "next": {
                                "description": "The next page of results",
                                "type": "string",
                                "example": "http://localhost:8000/api/supplier_category?page=3"
                            }
                        },
                        "type": "object"
                    },
                    "meta": {
                        "properties": {
                            "current_page": {
                                "description": "The current page",
                                "type": "number",
                                "format": "int64",
                                "example": 2
                            },
                            "from": {
                                "description": "The first item in the current page",
                                "type": "number",
                                "format": "int64",
                                "example": 11
                            },
                            "last_page": {
                                "description": "The last page of results",
                                "type": "number",
                                "format": "int64",
                                "example": 3
                            },
                            "path": {
                                "description": "The path of the request",
                                "type": "string",
                                "example": "http://localhost:8000/api/supplier_category"
                            },
                            "per_page": {
                                "description": "The number of items per page",
                                "type": "number",
                                "format": "int64",
                                "example": 10
                            },
                            "to": {
                                "description": "The last item in the current page",
                                "type": "number",
                                "format": "int64",
                                "example": 20
                            },
                            "total": {
                                "description": "The total number of items",
                                "type": "number",
                                "format": "int64",
                                "example": 21
                            },
                            "links": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "url": {
                                            "description": "The URL of the page",
                                            "type": "string",
                                            "example": "http://localhost:8000/api/supplier_category?page=1"
                                        },
                                        "label": {
                                            "description": "The label of the page",
                                            "type": "string",
                                            "example": "1"
                                        },
                                        "active": {
                                            "description": "Whether the page is the current page",
                                            "type": "boolean",
                                            "example": true
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "CashBoxStore": {
                "title": "Cash Box Store Request",
                "required": [
                    "name",
                    "circuit",
                    "currency"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "example": "New Cash Box"
                    },
                    "project_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "currency": {
                        "description": "1 for USD, 2 for ARS",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "circuit": {
                        "description": "1 for A, 2 for B",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "type": {
                        "description": "1 for Main, 2 for Petty. Optional for Treasurers (forced to Petty)",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    }
                },
                "type": "object"
            },
            "CashBoxUpdate": {
                "title": "Cash Box Update Request",
                "properties": {
                    "name": {
                        "type": "string",
                        "example": "Updated Cash Box"
                    }
                },
                "type": "object"
            },
            "CashBoxLoanPayOff": {
                "title": "Cash Box Loan PayOff Request",
                "required": [
                    "amount",
                    "date"
                ],
                "properties": {
                    "amount": {
                        "type": "number",
                        "example": 1000
                    },
                    "date": {
                        "description": "Unix timestamp",
                        "type": "integer",
                        "example": 1704067200
                    },
                    "observations": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Pago de préstamo"
                    }
                },
                "type": "object"
            },
            "CashBoxLoanStore": {
                "title": "Cash Box Loan Store Request",
                "required": [
                    "origin_cash_box_id",
                    "destination_cash_box_id",
                    "amount",
                    "balance",
                    "date",
                    "observations"
                ],
                "properties": {
                    "origin_cash_box_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "destination_cash_box_id": {
                        "type": "integer",
                        "example": 2
                    },
                    "amount": {
                        "type": "number",
                        "example": 1000
                    },
                    "balance": {
                        "type": "number",
                        "example": 1000
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2024-01-01"
                    },
                    "observations": {
                        "type": "string",
                        "maxLength": 200,
                        "example": "Loan for project X"
                    }
                },
                "type": "object"
            },
            "UpdateExitPricesRequest": {
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "description": "List of Project Units to update",
                        "type": "array",
                        "items": {
                            "required": [
                                "id",
                                "exit_price"
                            ],
                            "properties": {
                                "id": {
                                    "description": "ID of the project unit",
                                    "type": "integer",
                                    "example": 123
                                },
                                "exit_price": {
                                    "description": "New exit price for the Project Unit",
                                    "type": "number",
                                    "format": "float",
                                    "example": 98000.5
                                }
                            },
                            "type": "object"
                        }
                    }
                },
                "type": "object"
            },
            "CashBoxDetail": {
                "title": "Cash Box Detail Resource",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "example": "Main Box"
                    },
                    "currency": {
                        "description": "1 for USD, 2 for ARS",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "balance": {
                        "type": "number",
                        "format": "float",
                        "example": 1500.5
                    },
                    "circuit": {
                        "description": "1 for A, 2 for B",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "type": {
                        "description": "1 for Main, 2 for Petty",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "project_id": {
                        "type": "integer",
                        "example": 5
                    },
                    "project": {
                        "properties": {
                            "name": {
                                "type": "string",
                                "example": "Project Alpha"
                            },
                            "id": {
                                "type": "integer",
                                "example": 5
                            },
                            "deleted": {
                                "type": "boolean",
                                "example": false
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "CashBoxGroupedByProject": {
                "title": "Cash Box Grouped By Project Resource",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "example": "Project name"
                    },
                    "header_image_url": {
                        "type": "string",
                        "example": "https://example.com/image.jpg"
                    },
                    "deleted": {
                        "type": "boolean",
                        "example": false
                    },
                    "cash_boxes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CashBoxDetail"
                        }
                    }
                },
                "type": "object"
            },
            "CashBoxSummary": {
                "title": "Cash Box Summary Resource",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "example": "Main Box"
                    },
                    "currency": {
                        "description": "1 for USD, 2 for ARS",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "circuit": {
                        "description": "1 for A, 2 for B",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    },
                    "type": {
                        "description": "1 for Main, 2 for Petty",
                        "type": "integer",
                        "enum": [
                            1,
                            2
                        ]
                    }
                },
                "type": "object"
            },
            "CashBoxLoanSummary": {
                "title": "Cash Box Loan Summary Resource",
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CashBoxLoanSummaryResource"
                    },
                    {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "example": 1
                            },
                            "origin_cash_box_id": {
                                "type": "integer",
                                "example": 1
                            },
                            "destination_cash_box_id": {
                                "type": "integer",
                                "example": 2
                            },
                            "amount": {
                                "type": "number",
                                "example": 1000
                            },
                            "balance": {
                                "type": "number",
                                "example": 1000
                            },
                            "date": {
                                "type": "string",
                                "format": "date"
                            },
                            "observations": {
                                "type": "string",
                                "example": "Loan for project X"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "CashBoxLoanSummaryResource": {
                "title": "Cash Box Loan Summary Resource",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "origin_cash_box_id": {
                        "type": "integer",
                        "example": 1
                    },
                    "destination_cash_box_id": {
                        "type": "integer",
                        "example": 2
                    },
                    "amount": {
                        "type": "number",
                        "example": 1000
                    },
                    "balance": {
                        "type": "number",
                        "example": 1000
                    },
                    "date": {
                        "type": "string",
                        "format": "date"
                    },
                    "observations": {
                        "type": "string",
                        "example": "Loan for project X"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "GuestUserResource": {
                "properties": {
                    "guest_id": {
                        "description": "The id of the entity associated with the guest user (for example, an investor id)",
                        "type": "integer",
                        "example": 123
                    },
                    "guest_type_id": {
                        "description": "The id of the type of guest",
                        "type": "integer",
                        "example": 1
                    },
                    "email": {
                        "description": "The email address to which the credentials were sent",
                        "type": "string",
                        "example": "guest@example.com"
                    },
                    "expires_at": {
                        "type": "string",
                        "example": "2025-04-07 23:59:59"
                    },
                    "token": {
                        "type": "string",
                        "example": "your_generated_token_here"
                    }
                },
                "type": "object"
            },
            "InvestorDetailResource": {
                "title": "Investor Detail Resource",
                "type": "object",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/InvestorResource"
                    },
                    {
                        "properties": {
                            "stats": {
                                "description": "Investor statistics and investment performance data",
                                "properties": {
                                    "total_m2": {
                                        "description": "Aggregate of the surface areas of the units invested on.",
                                        "type": "number",
                                        "format": "float",
                                        "example": 125.5
                                    },
                                    "total_paid": {
                                        "description": "All payments made ever.",
                                        "type": "number",
                                        "format": "float",
                                        "example": 150000
                                    },
                                    "total_unpaid": {
                                        "description": "All payments not yet collected.",
                                        "type": "number",
                                        "format": "float",
                                        "example": 25000
                                    },
                                    "total_exit_prices": {
                                        "description": "Aggregate of the exit prices of all units invested on.",
                                        "type": "number",
                                        "format": "float",
                                        "example": 300000
                                    },
                                    "aggregate_payments_worth": {
                                        "description": "The current value of all payments made according to the IRR of the sale they belong to",
                                        "type": "number",
                                        "format": "float",
                                        "example": 158000
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "InvestorResource": {
                "title": "Investor Resource",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the investor",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the investor",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Investor name"
                    },
                    "phones": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "maxLength": 200,
                            "minLength": 0,
                            "example": "11 222 3333"
                        }
                    },
                    "emails": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "maxLength": 200,
                            "minLength": 0,
                            "example": "test@email.com"
                        }
                    },
                    "has_access_until": {
                        "description": "If the investor was granted access to the platform, defines its expiration time",
                        "type": "string",
                        "example": "2025-09-14 23:59:59",
                        "nullable": true
                    }
                },
                "type": "object"
            },
            "ProjectUnitSaleConditionResource": {
                "properties": {
                    "currency": {
                        "type": "number",
                        "example": 1
                    },
                    "observation": {
                        "type": "string",
                        "example": "The observation"
                    },
                    "payment_method": {
                        "type": "number",
                        "example": 1
                    },
                    "circuit": {
                        "type": "number",
                        "example": 1
                    },
                    "amount": {
                        "type": "number",
                        "example": 1000
                    },
                    "date": {
                        "type": "number",
                        "example": 1704988954
                    },
                    "m2": {
                        "type": "number",
                        "example": 50
                    },
                    "m2_value": {
                        "type": "number",
                        "example": 1100
                    },
                    "installments": {
                        "type": "number",
                        "example": 10
                    },
                    "cac_month": {
                        "type": "string",
                        "example": "2024-06"
                    },
                    "cac_type_id": {
                        "type": "number",
                        "example": 3
                    }
                },
                "type": "object"
            },
            "ReceivedPaymentInvestorReceivableResource": {
                "title": "Received Payment Investor Receivable Resource",
                "description": "Intermediate resource between Received Payment and Investor Receivable",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": 1
                    },
                    "received_payment_id": {
                        "type": "integer",
                        "example": 101
                    },
                    "received_payment": {
                        "$ref": "#/components/schemas/ReceivedPayment"
                    },
                    "investor_receivable_id": {
                        "type": "integer",
                        "example": 202
                    },
                    "investor_receivable": {
                        "$ref": "#/components/schemas/InvestorReceivable"
                    },
                    "amount": {
                        "type": "number",
                        "format": "double",
                        "example": 1500.5
                    },
                    "created_at": {
                        "description": "Unix timestamp when the link was created",
                        "type": "integer",
                        "format": "int64",
                        "example": 1707744000
                    }
                },
                "type": "object"
            },
            "AccountMovement": {
                "title": "Account Movement Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the account movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "concept_type": {
                        "description": "The concept type for the account movement",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "App\\Models\\ProjectUnitSale"
                    },
                    "concept_id": {
                        "description": "The unique identifier representing the concept for the account movement.",
                        "type": "number",
                        "format": "int64",
                        "example": 4
                    },
                    "origin_type": {
                        "description": "The origin type for the account movement",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "App\\Models\\OriginModel"
                    },
                    "origin_id": {
                        "description": "The unique identifier representing the origin for the account movement.",
                        "type": "number",
                        "format": "int64",
                        "example": 4
                    },
                    "destination_type": {
                        "description": "The destination type for the account movement",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "App\\Models\\DestinationModel"
                    },
                    "destination_id": {
                        "description": "The unique identifier representing the destination for the account movement.",
                        "type": "number",
                        "format": "int64",
                        "example": 4
                    },
                    "movement_type": {
                        "description": "The movement_type for the account movement",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 1
                    },
                    "payment_method": {
                        "description": "The payment method for the account movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "circuit": {
                        "description": "The circuit for the account movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The value of amount in decimal for the account movement",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "exchange_rate": {
                        "description": "The exchange rate for the account movement",
                        "type": "number",
                        "format": "double",
                        "example": 1
                    },
                    "amount_usd": {
                        "description": "Amount divided by exchange_rate",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "sub_type": {
                        "description": "The sub type for the account movement",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "Sub type"
                    },
                    "currency": {
                        "description": "The currency for the account movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "cac_balance": {
                        "description": "The cac balance for the account movement",
                        "type": "number",
                        "format": "double",
                        "example": 100.5
                    }
                },
                "type": "object"
            },
            "Bidding": {
                "title": "Bidding Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Bidding.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "title": {
                        "description": "The title or name of the Bidding",
                        "type": "string",
                        "maxLength": 40,
                        "minLength": 1,
                        "example": "Materials Bidding"
                    },
                    "date_issue": {
                        "description": "The date of the Bidding as a Unix timestamp.",
                        "type": "integer",
                        "format": "int64",
                        "example": 1672531200
                    },
                    "closing_date": {
                        "description": "The date of the Bidding as a Unix timestamp.",
                        "type": "integer",
                        "format": "int64",
                        "example": 1672531200
                    },
                    "request": {
                        "description": "The request of the Bidding",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The request Bidding"
                    },
                    "department": {
                        "description": "The department of the Bidding",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Department Bidding"
                    },
                    "detail": {
                        "description": "The detail of the Bidding",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Detail Bidding"
                    },
                    "project_id": {
                        "description": "The id of the project.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "expense_category_id": {
                        "description": "The id of the expense category.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "status": {
                        "description": "The status of the Bidding.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project": {
                        "$ref": "#/components/schemas/Project"
                    },
                    "expense_categories": {
                        "$ref": "#/components/schemas/ExpenseCategory"
                    },
                    "articles": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "id": {
                                    "type": "number",
                                    "example": 1
                                },
                                "name": {
                                    "type": "string",
                                    "maxLength": 100,
                                    "minLength": 0,
                                    "example": "The name of the bidding article."
                                },
                                "quantity": {
                                    "type": "number",
                                    "example": 10
                                },
                                "bidding_id": {
                                    "type": "number",
                                    "example": 1
                                },
                                "supplier_id": {
                                    "type": "number",
                                    "example": 1
                                },
                                "selected": {
                                    "type": "boolean",
                                    "example": false
                                },
                                "price": {
                                    "type": "number",
                                    "format": "float",
                                    "example": 130.99
                                },
                                "tax": {
                                    "type": "number",
                                    "format": "float",
                                    "example": 10.5
                                },
                                "total_price": {
                                    "type": "number",
                                    "format": "float",
                                    "readOnly": true,
                                    "example": 199.99
                                }
                            },
                            "type": "object"
                        }
                    },
                    "supplier_ids": {
                        "type": "array",
                        "items": {
                            "type": "number",
                            "example": 1
                        }
                    }
                },
                "type": "object"
            },
            "BiddingArticle": {
                "title": "Bidding Article Model",
                "required": [
                    "name",
                    "quantity"
                ],
                "properties": {
                    "name": {
                        "description": "The name of the bidding article.",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Bidding article name."
                    },
                    "quantity": {
                        "description": "The quantity of the bidding article.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "supplier_id": {
                        "description": "The supplier_id of the bidding article.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "bidding_id": {
                        "description": "The bidding_id of the bidding article.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "price": {
                        "description": "The item price without taxes.",
                        "type": "number",
                        "format": "float",
                        "example": 130.99
                    },
                    "tax": {
                        "description": "The tax percent for the item.",
                        "type": "number",
                        "format": "float",
                        "example": 10.5
                    },
                    "total_price": {
                        "description": "The total prince of the item.",
                        "type": "number",
                        "format": "float",
                        "readOnly": true,
                        "example": 199.99
                    },
                    "selected": {
                        "description": "Whether the bidding article is selected or not.",
                        "type": "boolean",
                        "example": 0
                    }
                },
                "type": "object"
            },
            "BiddingSupplier": {
                "title": "Bidding Supplier Model",
                "required": [
                    "supplier_id"
                ],
                "properties": {
                    "supplier_id": {
                        "description": "The id of the supplier.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "delivery_date": {
                        "description": "The unix timestamp for the delivery date of the bidding supplier.",
                        "type": "number",
                        "format": "int64",
                        "example": 1704988954
                    },
                    "payment_method": {
                        "description": "The payment method for the bidding supplier.",
                        "type": "string",
                        "maxLength": 200
                    },
                    "discount": {
                        "description": "The discount for the bidding supplier.",
                        "type": "number",
                        "format": "int64",
                        "example": 10
                    },
                    "total_price": {
                        "description": "The total price of bidding supplier.",
                        "type": "number",
                        "format": "float",
                        "readOnly": true,
                        "example": 199.99
                    }
                },
                "type": "object"
            },
            "CACValue": {
                "title": "CAC Value Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the CAC value",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "date": {
                        "description": "The date of the cac index values, corresponding to a month",
                        "type": "string",
                        "format": "date",
                        "example": "2023-11-27"
                    },
                    "construction_cost": {
                        "description": "The cost of construction",
                        "type": "number",
                        "format": "float",
                        "example": 5000
                    },
                    "material_cost": {
                        "description": "The cost of materials",
                        "type": "number",
                        "format": "float",
                        "example": 2500
                    },
                    "labor_cost": {
                        "description": "The cost of labor",
                        "type": "number",
                        "format": "float",
                        "example": 3000
                    }
                },
                "type": "object"
            },
            "CashBoxMovement": {
                "title": "Cash Box Movement Model",
                "required": [
                    "date",
                    "amount",
                    "type_operation",
                    "detail"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the cash box movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The value of amount in decimal for the cash box movement",
                        "type": "number",
                        "format": "double",
                        "example": 1.2
                    },
                    "detail": {
                        "description": "The detail of the cash box movement",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Cash Box Movement detail"
                    },
                    "type_operation": {
                        "description": "The value of type of operation for the cash box movement. (1 for `Increse`, 2 for `Decrece`)",
                        "type": "number",
                        "format": "int64",
                        "enum": [
                            1,
                            2
                        ],
                        "example": 1
                    },
                    "balance": {
                        "description": "The value of balance in decimal for the cash box movement",
                        "type": "number",
                        "format": "double",
                        "example": 1.2
                    },
                    "date": {
                        "description": "The value of date for the cash box movement",
                        "type": "string",
                        "format": "date"
                    },
                    "user_id": {
                        "description": "The id of the user",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "cash_box_id": {
                        "description": "The id of the cash box",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "destination_cash_box_id": {
                        "description": "The destination of the cash box",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "user": {
                        "$ref": "#/components/schemas/User"
                    }
                },
                "type": "object"
            },
            "DolarValue": {
                "title": "Dolar Value Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the dollar value",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "date": {
                        "description": "The date of the dollar pricing",
                        "type": "string",
                        "format": "date",
                        "example": "2023-11-27"
                    },
                    "value": {
                        "description": "The dollar value",
                        "type": "number",
                        "format": "float",
                        "example": 400
                    }
                },
                "type": "object"
            },
            "ExpenseCategory": {
                "title": "Expense Category Model",
                "required": [
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the expense category",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the expense category",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "example": "The Expense Category name"
                    }
                },
                "type": "object"
            },
            "InstantiatedProjectTask": {
                "title": "Instantiated Project Task Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_id": {
                        "description": "The id of the Instantiated Project",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "task_id": {
                        "description": "The number of task_id in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "stage": {
                        "description": "The number of stage in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task name"
                    },
                    "day": {
                        "description": "The number of day in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "status": {
                        "description": "The status of the task. See [/instantiated_project_task_status] for a list of valid values.",
                        "type": "number",
                        "format": "int64",
                        "default": "1",
                        "readOnly": true,
                        "example": 1
                    },
                    "description": {
                        "description": "The description of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task description"
                    },
                    "predecessor_task_id": {
                        "description": "The UUID of predecessor in the project task.",
                        "type": "string"
                    },
                    "start_type": {
                        "description": "The number of start type in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "InstantiatedProjectTaskNotification": {
                "title": "Instanced Project Notification Model",
                "required": [
                    "user_id",
                    "project_task_id",
                    "date",
                    "message"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_task_id": {
                        "description": "The id in the instantiated project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "user_id": {
                        "description": "The id of the user to be notified.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "date": {
                        "description": "The number of start type in the project task.",
                        "type": "string",
                        "format": "date",
                        "example": "2023-11-27"
                    },
                    "message": {
                        "description": "The message of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task message"
                    }
                },
                "type": "object"
            },
            "InvestorEmail": {
                "title": "Investor Email Model",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The email of the investor",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "test@email.com"
                    }
                },
                "type": "object"
            },
            "InvestorPhone": {
                "title": "Investor Phone Model",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The phone of the investor",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "11 1234 5678"
                    }
                },
                "type": "object"
            },
            "InvestorReceivable": {
                "title": "Investor Receivable Model",
                "description": "Represents the financial commitments associated with an investor's account",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "investor_id": {
                        "description": "The ID of the investor associated with the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 12345
                    },
                    "project_unit_sale_id": {
                        "description": "The ID of the project unit sale linked to the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 67890
                    },
                    "project_unit_sale_condition_id": {
                        "description": "The ID of the project unit sale condition linked to the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 67890
                    },
                    "project_unit_sale_condition": {
                        "properties": {
                            "table": {
                                "$ref": "#/components/schemas/ProjectUnitSaleCondition"
                            }
                        },
                        "type": "object"
                    },
                    "project_id": {
                        "description": "The ID of the project associated with the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 101112
                    },
                    "date": {
                        "description": "The deadline for the payment, in Unix format.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "payment_method": {
                        "description": "The payment method for the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "circuit": {
                        "description": "The circuit for the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "currency": {
                        "description": "The currency for the receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The original amount of money represnted by the receivable",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "receivable_amount": {
                        "description": "The amount the investor has yet to pay for this receivable",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "receivable_amount_usd": {
                        "description": "The value of receivable_amount in USD",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "received_amount": {
                        "description": "The amount the investor paid for this receivable",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "debit_amount": {
                        "description": "The combination of the sum of payments related to this receivable and receivable_amount",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "debit_amount_usd": {
                        "description": "The value of debit_amount in USD",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "usd_price": {
                        "description": "The exchange rate for converting the base amount in ARS to USD and viceversa",
                        "type": "number",
                        "format": "double",
                        "example": 1
                    },
                    "installment_number": {
                        "description": "The ordinal number corresponding to the monthly payment (first, second, third payment, etc.)",
                        "type": "number",
                        "format": "int64",
                        "example": 4
                    },
                    "cac_type_id": {
                        "description": "The id for the cac type",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "observation": {
                        "description": "The observation for the project unit sale condition related to this receivable.",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "This condition will be paid via some method"
                    },
                    "payments": {
                        "description": "An array of payments made for this receivable",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ReceivedPayment"
                        }
                    },
                    "created_at": {
                        "description": "The timestamp when the receivable record was created",
                        "type": "string",
                        "format": "date-time",
                        "example": "2023-11-01T12:34:56Z"
                    }
                },
                "type": "object"
            },
            "Notification": {
                "title": "Notification Model",
                "required": [
                    "title",
                    "text",
                    "user_id"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the notification",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "type": {
                        "description": "A key that defines the type of notification, determining the way it may need to be handled",
                        "type": "string"
                    },
                    "title": {
                        "description": "The title of the notification",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Notification title"
                    },
                    "text": {
                        "description": "The content of the notification",
                        "type": "string"
                    },
                    "read": {
                        "description": "Indicates whether the notification has been read or not",
                        "type": "boolean",
                        "example": false
                    },
                    "data": {
                        "description": "Flexible data that adds context to the notification",
                        "type": "object"
                    },
                    "user": {
                        "$ref": "#/components/schemas/User"
                    }
                },
                "type": "object"
            },
            "Payment": {
                "title": "Payment Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "reference_type": {
                        "description": "The reference type for the payment",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "App\\Models\\ReferenceModel"
                    },
                    "reference_id": {
                        "description": "The unique identifier representing the reference for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "observation": {
                        "description": "The observation of the payment",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "The observation of the payment"
                    },
                    "payment_method": {
                        "description": "The payment type for the payment",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 1
                    },
                    "currency": {
                        "description": "The currency for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The value of amount in decimal for the payment",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "cash_box_id": {
                        "description": "The id for the cash box",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "creator_id": {
                        "description": "The id for the creator of the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "movement_id": {
                        "description": "The id for the movement associated with the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "cac_fees": {
                        "description": "The cac fees for the payment",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "cac_type_id": {
                        "description": "The id for the cac type",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "cac_current": {
                        "description": "The cac current for the payment",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    }
                },
                "type": "object"
            },
            "Project": {
                "title": "Project Model",
                "required": [
                    "name",
                    "address",
                    "start_date",
                    "internal_price"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the project",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project name"
                    },
                    "internal_price": {
                        "description": "The default price per m2. ",
                        "type": "number",
                        "format": "double",
                        "example": 1500
                    },
                    "address": {
                        "description": "The address of the project",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project address"
                    },
                    "start_date": {
                        "description": "The start date of the project",
                        "type": "string",
                        "format": "date",
                        "example": "2023-11-27"
                    },
                    "project_configuration": {
                        "$ref": "#/components/schemas/ProjectConfiguration"
                    }
                },
                "type": "object"
            },
            "ProjectConfiguration": {
                "title": "Project Configuration Model",
                "required": [
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the project configuration",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project Configuration name"
                    }
                },
                "type": "object"
            },
            "ProjectNotification": {
                "title": "Project Notification Model",
                "required": [
                    "user_id",
                    "project_task_id",
                    "date",
                    "message"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_task_id": {
                        "description": "The id in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "user_id": {
                        "description": "The id of the user to be notified.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "offset": {
                        "description": "The amount of days the notification will be moved relative to the task's start date.",
                        "type": "number",
                        "format": "int64",
                        "example": "2"
                    },
                    "message": {
                        "description": "The message of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task message"
                    }
                },
                "type": "object"
            },
            "ProjectTask": {
                "title": "Project Task Model",
                "required": [
                    "name",
                    "start_type",
                    "day",
                    "description"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task name"
                    },
                    "predecessor_task_id": {
                        "description": "The UUID of predecessor in the project task.",
                        "type": "string"
                    },
                    "task_id": {
                        "description": "The number of task_id in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "start_type": {
                        "description": "The number of start type in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "day": {
                        "description": "The number of day in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "stage": {
                        "description": "The number of stage in the project task.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "description": {
                        "description": "The description of the project task",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The Project task description"
                    },
                    "project_configuration_id": {
                        "description": "The id of the project configuration",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_configuration": {
                        "$ref": "#/components/schemas/ProjectConfiguration"
                    }
                },
                "type": "object"
            },
            "ProjectUnit": {
                "title": "Project Unit Model",
                "required": [
                    "location",
                    "functional_unit_id",
                    "description",
                    "floor",
                    "department",
                    "rooms",
                    "type_id",
                    "destination_id",
                    "price",
                    "covered_area",
                    "semi_covered_area",
                    "uncovered_area",
                    "homogenization_factor",
                    "status"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project unit.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "functional_unit_id": {
                        "description": "The functional unit id.",
                        "type": "string",
                        "maxLength": 20,
                        "minLength": 1,
                        "example": "PB-A"
                    },
                    "project_id": {
                        "description": "The unique identifier of the project for this unit.",
                        "type": "string",
                        "maxLength": 20,
                        "minLength": 1,
                        "example": "1"
                    },
                    "location": {
                        "description": "The location of the unit.",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "FRENTE"
                    },
                    "description": {
                        "description": "The description of the unit.",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "Unidad con vista al mar."
                    },
                    "floor": {
                        "description": "The unit floor.",
                        "type": "string",
                        "maxLength": 20,
                        "minLength": 1,
                        "example": "1"
                    },
                    "department": {
                        "description": "The department of the unit.",
                        "type": "string",
                        "maxLength": 20,
                        "minLength": 1,
                        "example": "A"
                    },
                    "rooms": {
                        "description": "The number of rooms in the unit.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "type_id": {
                        "description": "The type of unit. See [/project_unit_type] for a list of valid values.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "destination_id": {
                        "description": "The destination of unit. See [/project_unit_destination] for a list of valid values.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "internal_price": {
                        "description": "The price per m2. ",
                        "type": "number",
                        "format": "double",
                        "example": 1500
                    },
                    "covered_area": {
                        "description": "The covered area of the unit.",
                        "type": "number",
                        "format": "double",
                        "example": 85
                    },
                    "semi_covered_area": {
                        "description": "The semi covered area of the unit.",
                        "type": "number",
                        "format": "double",
                        "example": 15
                    },
                    "uncovered_area": {
                        "description": "The uncovered area of the unit.",
                        "type": "number",
                        "format": "double",
                        "example": 35
                    },
                    "homogenization_factor": {
                        "description": "The homogenization_factor of the unit.",
                        "type": "number",
                        "format": "double",
                        "example": 0.3
                    },
                    "status": {
                        "description": "The status of the unit. See [/project_unit_status] for a list of valid values.",
                        "type": "number",
                        "format": "int64",
                        "default": "1",
                        "readOnly": true,
                        "example": 1
                    },
                    "total_price": {
                        "description": "The total internal price, or entry price, of the unit when selling it to investors.",
                        "type": "number",
                        "format": "double",
                        "readOnly": true,
                        "example": 130000
                    },
                    "exit_price": {
                        "description": "The exit price or market value of the unit.",
                        "type": "number",
                        "format": "double",
                        "readOnly": true,
                        "example": 130000
                    },
                    "sales": {
                        "description": "Sales units related to this project unit sale.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProjectUnitSale"
                        }
                    }
                },
                "type": "object"
            },
            "ProjectUnitProjectUnitSale": {
                "title": "Project Unit and Project Unit Sale intermediate table",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project unit sale functional.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_unit_id": {
                        "description": "The unique identifier for the project unit.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_unit_sale_id": {
                        "description": "The unique identifier for the project unit sale.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "ProjectUnitSale": {
                "title": "Project Unit Sale Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project unit sale.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_unit_id": {
                        "description": "The unique identifier for the project unit.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_id": {
                        "description": "The unique identifier for the project.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "investor_id": {
                        "description": "The unique identifier for the investor.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "conditions": {
                        "description": "Conditions units related to this project unit sale.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProjectUnitSaleCondition"
                        }
                    }
                },
                "type": "object"
            },
            "ProjectUnitSaleCondition": {
                "title": "Project Unit Sale Condition Model",
                "required": [
                    "project_unit_sale_id",
                    "payment_method",
                    "date",
                    "amount"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the project unit sale condition.",
                        "type": "number",
                        "format": "int32",
                        "readOnly": true,
                        "example": 1
                    },
                    "payment_method": {
                        "description": "The value of the payment method for the unit sale condition.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "circuit": {
                        "description": "The value of the circuit for the unit sale condition.",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 1
                    },
                    "m2": {
                        "description": "The value of the m2 for the unit sale condition.",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 100
                    },
                    "currency": {
                        "description": "The unique identifier for the project unit sale condition currency only valid for types Advance A and Advance B.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "amount": {
                        "description": "The amount for project unit sale condition",
                        "type": "number",
                        "format": "float",
                        "example": 500000.2
                    },
                    "usd_price": {
                        "description": "The exchange rate agreed on by the two parties",
                        "type": "number",
                        "format": "double",
                        "example": 1
                    },
                    "amount_usd": {
                        "description": "The amount converted to dollars",
                        "type": "number",
                        "format": "float",
                        "example": 500000.2
                    },
                    "date": {
                        "description": "The date for the condition.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "project_unit_sale_id": {
                        "description": "The unique identifier for the project unit sale id",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "installments": {
                        "description": "The amount of installments. Valid for CAC and Fixed installment methods.",
                        "type": "number",
                        "format": "int32",
                        "example": 36
                    },
                    "cac_bases": {
                        "description": "The CAC bases. Only valid for type CAC Fee.",
                        "type": "number",
                        "format": "float",
                        "example": 2002.2
                    },
                    "observation": {
                        "description": "The observation for project unit sale condition.",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "The observation is good"
                    }
                },
                "type": "object"
            },
            "Property": {
                "title": "Property Model",
                "description": "Model representing a property",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Property.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "address": {
                        "description": "The address of the property.",
                        "type": "string",
                        "example": "123 Main St"
                    },
                    "type": {
                        "description": "The type of property.",
                        "type": "integer",
                        "example": "1"
                    },
                    "status": {
                        "description": "The status of the property.",
                        "type": "integer",
                        "example": 1
                    },
                    "owner": {
                        "description": "The owner of the property.",
                        "type": "string",
                        "example": "John Doe"
                    },
                    "floor": {
                        "description": "The floor number of the property.",
                        "type": "string",
                        "example": "5B"
                    },
                    "apartment": {
                        "description": "The apartment of the property.",
                        "type": "string",
                        "example": "Dpto 4"
                    },
                    "covered_area": {
                        "description": "The area of the covered area in m2.",
                        "type": "number",
                        "format": "double",
                        "example": 100.5
                    },
                    "semi_covered_area": {
                        "description": "The area of the semi covered area in m2.",
                        "type": "number",
                        "format": "double",
                        "example": 100.5
                    },
                    "uncovered_area": {
                        "description": "The area of the uncovered area in m2.",
                        "type": "number",
                        "format": "double",
                        "example": 100.5
                    },
                    "m2_value": {
                        "description": "The price per m2 of the property.",
                        "type": "number",
                        "format": "float",
                        "example": 1500.75
                    }
                },
                "type": "object"
            },
            "PurchaseOrder": {
                "title": "Purchase Order Model",
                "required": [
                    "project_id",
                    "applicant",
                    "department",
                    "detail",
                    "supplier_id",
                    "expense_category_id"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "project_id": {
                        "description": "The id of the project.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "bidding_id": {
                        "description": "The id of the bidding.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "applicant": {
                        "description": "The applicant for the purchase order.",
                        "type": "string",
                        "maxLength": 100
                    },
                    "department": {
                        "description": "The department for the purchase order.",
                        "type": "string",
                        "maxLength": 100
                    },
                    "detail": {
                        "description": "The detail for the purchase order.",
                        "type": "string",
                        "maxLength": 200
                    },
                    "supplier_id": {
                        "description": "The supplier unique identifier for the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "supplier_category": {
                        "$ref": "#/components/schemas/SupplierCategory"
                    },
                    "supplier_category_id": {
                        "description": "The supplier category unique identifier for the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "expense_category_id": {
                        "description": "The expense category unique identifier.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "delivery_date": {
                        "description": "The unix timestamp for the delivery date of the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "example": 1704988954
                    },
                    "created_at": {
                        "description": "The unix timestamp for the creation date of the purchase order. The default value is the current timestamp.",
                        "type": "number",
                        "format": "int64",
                        "example": 1704988954
                    },
                    "payment_method": {
                        "description": "The payment method for the purchase order.",
                        "type": "string",
                        "maxLength": 200
                    },
                    "discount": {
                        "description": "The discount for the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "example": 10
                    },
                    "status": {
                        "description": "The status of the purchase order.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 10
                    },
                    "items": {
                        "description": "The items of the purchase order.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseOrderItem"
                        }
                    },
                    "conditions": {
                        "description": "The conditions of the purchase order.",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseOrderCondition"
                        }
                    }
                },
                "type": "object"
            },
            "PurchaseOrderCondition": {
                "title": "Purchase Order Condition Model",
                "required": [
                    "purchase_order_id",
                    "type",
                    "date",
                    "price",
                    "tax"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the purchase order condition.",
                        "type": "number",
                        "format": "int32",
                        "readOnly": true,
                        "example": 1
                    },
                    "type": {
                        "description": "The unique identifier for the purchase order condition type.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "currency": {
                        "description": "The unique identifier for the purchase order condition currency only valid for types Advance A and Advance B.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "amount": {
                        "description": "The amount for purchase order condition only valid for types Advance A and Advance B.",
                        "type": "number",
                        "format": "float",
                        "example": 500000.2
                    },
                    "date": {
                        "description": "The date for the condition.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "surface": {
                        "description": "The surface area only valid for type Meters.",
                        "type": "number",
                        "format": "float",
                        "example": 94.56
                    },
                    "surface_value": {
                        "description": "The surface value in USD only valid for type Meters.",
                        "type": "number",
                        "format": "float",
                        "example": 500.56
                    },
                    "description": {
                        "description": "The condition description.",
                        "type": "string",
                        "maxLength": 100
                    },
                    "cac_amount": {
                        "description": "The CAC Amount. Only valid for type CAC Fee.",
                        "type": "number",
                        "format": "float",
                        "example": 130.99
                    },
                    "cac_index_id": {
                        "description": "The unique identifier for the CAC Value. Only valid for type CAC Fee.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "cac_type_id": {
                        "description": "An identifier for which of the  CAC indexes it uses to calculate the price (Construction, materials, labor)",
                        "type": "number",
                        "format": "int32",
                        "example": 2
                    },
                    "cac_fees": {
                        "description": "The count of fees. Only valid for type CAC Fee.",
                        "type": "number",
                        "format": "int32",
                        "example": 36
                    }
                },
                "type": "object"
            },
            "PurchaseOrderItem": {
                "title": "Purchase Order Item Model",
                "required": [
                    "purchase_order_id",
                    "detail",
                    "quantity",
                    "price",
                    "tax"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the purchase order item.",
                        "type": "number",
                        "format": "int64",
                        "readOnly": true,
                        "example": 1
                    },
                    "quantity": {
                        "description": "The count of items to buy.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "detail": {
                        "description": "The item description.",
                        "type": "string",
                        "maxLength": 100
                    },
                    "price": {
                        "description": "The item price without taxes.",
                        "type": "number",
                        "format": "float",
                        "example": 130.99
                    },
                    "tax": {
                        "description": "The tax percent for the item.",
                        "type": "number",
                        "format": "float",
                        "example": 10.5
                    },
                    "total_price": {
                        "description": "The total prince of the item.",
                        "type": "number",
                        "format": "float",
                        "readOnly": true,
                        "example": 199.99
                    }
                },
                "type": "object"
            },
            "ReceivedPayment": {
                "title": "Received Payment Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "project_unit_sale_id": {
                        "description": "The ID of the project unit sale linked to the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 67890
                    },
                    "payment_method": {
                        "description": "The payment method for the account movement",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "date": {
                        "description": "The deadline for the payment, in Unix format.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "circuit": {
                        "description": "The circuit for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "currency": {
                        "description": "The currency for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The amount of money represnted by the payment",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "usd_price": {
                        "description": "The exchange rate for converting the amount in ARS to USD or viceversa",
                        "type": "number",
                        "format": "double",
                        "example": 1
                    },
                    "amount_usd": {
                        "description": "The amount in USD, calculated as amount / usd_price when currency is ARS",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "current_worth_usd": {
                        "description": "The current value of this payment according to the sale IRR",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    },
                    "cash_box_id": {
                        "description": "The id for the cash box where the money is located",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "property_id": {
                        "description": "The id for the property represnted by the payment, if the payment is made in meters",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "observations": {
                        "description": "The observation of the payment",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "The observation of the payment"
                    }
                },
                "type": "object"
            },
            "ReceivedPaymentInvestorReceivable": {
                "title": "ReceivedPayment InvestorReceivable Intermediate Model. Shows how much of a receivable is covered by payment specified by received_payment_id",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the payment",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "received_payment_id": {
                        "description": "The ID of a received payment",
                        "type": "number",
                        "format": "int64",
                        "example": 67890
                    },
                    "investor_receivable_id": {
                        "description": "The ID of an investor receivable",
                        "type": "number",
                        "format": "int64",
                        "example": 67890
                    },
                    "amount": {
                        "description": "The amount of money in the investor receivable covered by the payment",
                        "type": "number",
                        "format": "double",
                        "example": 1.23
                    }
                },
                "type": "object"
            },
            "SimulationConditionOffer": {
                "title": "Simulation Condition Offer Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the simulator condition offer",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "simulator_id": {
                        "description": "The id of the simulator",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "payment_method": {
                        "description": "The value of the payment method for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "currency": {
                        "description": "The value of currency for the simulator condition offer.",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 1
                    },
                    "circuit": {
                        "description": "The value of the circuit for the simulator condition offer",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The amount for the simulator condition offer",
                        "type": "number",
                        "format": "float",
                        "example": 5000.2
                    },
                    "date": {
                        "description": "The date for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "type": {
                        "description": "The type for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "observation": {
                        "description": "The observation for simulator condition offer.",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "The observation is good"
                    },
                    "m2": {
                        "description": "The value of the m2 for the simulator condition offer.",
                        "type": "number",
                        "format": "int64",
                        "example": 100
                    },
                    "m2_value": {
                        "description": "The m2 value for simulator condition offer.",
                        "type": "number",
                        "format": "float",
                        "example": 2000.2
                    },
                    "dollar_amount": {
                        "description": "The dollar amount value for simulator condition offer.",
                        "type": "number",
                        "format": "float",
                        "example": 2000.2
                    }
                },
                "type": "object"
            },
            "Simulator": {
                "title": "Simulator Model",
                "required": [
                    "name",
                    "address"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Simulator.",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the Simulator",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The name Simulator"
                    },
                    "address": {
                        "description": "The address of the Simulator",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The address Simulator"
                    },
                    "quantity_garages": {
                        "description": "The quantity garages of the Simulator",
                        "type": "number",
                        "format": "int32",
                        "example": 10
                    },
                    "months_construction": {
                        "description": "The months construction of the Simulator",
                        "type": "number",
                        "format": "int32",
                        "example": 10
                    },
                    "capital_gain": {
                        "description": "The capital gain of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 500.2
                    },
                    "construction_cost": {
                        "description": "The construction cost of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 400.2
                    },
                    "presale_garage_value": {
                        "description": "The presale garage value of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 1000.2
                    },
                    "meters_sold": {
                        "description": "The meters sold of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 100.2
                    },
                    "purchase_cost_index": {
                        "description": "The purchase cost index of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 100.2
                    },
                    "monthly_profit": {
                        "description": "The monthly profit of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 100.2
                    },
                    "brand_new_value": {
                        "description": "The brand new value of the Simulator",
                        "type": "number",
                        "format": "float",
                        "example": 100.2
                    },
                    "offers": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "id": {
                                    "description": "The unique identifier for the simulator condition offer",
                                    "type": "number",
                                    "format": "int64",
                                    "example": 1
                                },
                                "simulator_id": {
                                    "description": "The id of the simulator",
                                    "type": "number",
                                    "format": "int64",
                                    "example": 1
                                },
                                "payment_method": {
                                    "description": "The value of the payment method for the simulator condition offer.",
                                    "type": "number",
                                    "format": "int32",
                                    "example": 1
                                },
                                "currency": {
                                    "description": "The value of currency for the simulator condition offer.",
                                    "type": "number",
                                    "format": "int64",
                                    "default": 1,
                                    "example": 1
                                },
                                "circuit": {
                                    "description": "The value of the circuit for the simulator condition offer",
                                    "type": "number",
                                    "format": "int64",
                                    "example": 1
                                },
                                "amount": {
                                    "description": "The amount for the simulator condition offer",
                                    "type": "number",
                                    "format": "float",
                                    "example": 5000.2
                                },
                                "date": {
                                    "description": "The date for the simulator condition offer.",
                                    "type": "number",
                                    "format": "int32",
                                    "example": 1706020798
                                },
                                "type": {
                                    "description": "The type for the simulator condition offer.",
                                    "type": "number",
                                    "format": "int32",
                                    "example": 1
                                },
                                "observation": {
                                    "description": "The observation for simulator condition offer.",
                                    "type": "string",
                                    "maxLength": 200,
                                    "minLength": 1,
                                    "example": "The observation is good"
                                },
                                "m2": {
                                    "description": "The value of the m2 for the simulator condition offer.",
                                    "type": "number",
                                    "format": "float",
                                    "example": 100.3
                                },
                                "m2_value": {
                                    "description": "The m2 value for simulator condition offer.",
                                    "type": "number",
                                    "format": "float",
                                    "example": 2000.2
                                },
                                "dollar_amount": {
                                    "description": "The dollar amount value for simulator condition offer.",
                                    "type": "number",
                                    "format": "float",
                                    "example": 2000.2
                                }
                            },
                            "type": "object"
                        }
                    }
                },
                "type": "object"
            },
            "SimulatorConditionOffer": {
                "title": "Simulator Condition Offer Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the simulator condition offer",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "simulator_id": {
                        "description": "The id of the simulator",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "payment_method": {
                        "description": "The value of the payment method for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "currency": {
                        "description": "The value of currency for the simulator condition offer.",
                        "type": "number",
                        "format": "int64",
                        "default": 1,
                        "example": 1
                    },
                    "circuit": {
                        "description": "The value of the circuit for the simulator condition offer",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "amount": {
                        "description": "The amount for the simulator condition offer",
                        "type": "number",
                        "format": "float",
                        "example": 5000.2
                    },
                    "date": {
                        "description": "The date for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1706020798
                    },
                    "type": {
                        "description": "The type for the simulator condition offer.",
                        "type": "number",
                        "format": "int32",
                        "example": 1
                    },
                    "observation": {
                        "description": "The observation for simulator condition offer.",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 1,
                        "example": "The observation is good"
                    },
                    "m2": {
                        "description": "The value of the m2 for the simulator condition offer.",
                        "type": "number",
                        "format": "float",
                        "example": 100.6
                    },
                    "m2_value": {
                        "description": "The m2 value for simulator condition offer.",
                        "type": "number",
                        "format": "float",
                        "example": 2000.2
                    },
                    "property_id": {
                        "description": "The id of the property",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "dollar_amount": {
                        "description": "The dollar amount value for simulator condition offer.",
                        "type": "number",
                        "format": "float",
                        "example": 2000.2
                    }
                },
                "type": "object"
            },
            "SimulatorConditionOfferProperty": {
                "title": "Simulator Condition Offer Property Model",
                "properties": {
                    "id": {
                        "description": "The unique identifier for the simulator condition offer property",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "simulator_condition_offer_id": {
                        "description": "The id of the simulator condition offer",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "property_id": {
                        "description": "The id of the property",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    }
                },
                "type": "object"
            },
            "Supplier": {
                "title": "Supplier Model",
                "required": [
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the supplier",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the supplier",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "The company name ltd"
                    },
                    "company_id": {
                        "description": "The id of the company",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "contact": {
                        "description": "The contact name of the supplier",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 0,
                        "example": "John Doe"
                    },
                    "cuit": {
                        "description": "CUIT / CUIL",
                        "type": "string",
                        "maxLength": 11,
                        "minLength": 11,
                        "example": "25123456781"
                    },
                    "web": {
                        "description": "The website of the supplier",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 0,
                        "example": "https://www.example.com"
                    },
                    "comments": {
                        "description": "The comments for the supplier",
                        "type": "string",
                        "maxLength": 200,
                        "minLength": 0,
                        "example": "Only for Buenos Aires"
                    },
                    "categories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SupplierCategory"
                        }
                    },
                    "company": {
                        "$ref": "#/components/schemas/SupplierCompany"
                    },
                    "phones": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "maxLength": 200,
                            "minLength": 0,
                            "example": "11 222 3333"
                        }
                    },
                    "emails": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "maxLength": 200,
                            "minLength": 0,
                            "example": "test@email.com"
                        }
                    }
                },
                "type": "object"
            },
            "SupplierCategory": {
                "title": "Supplier Category Model",
                "required": [
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Category",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The category name",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "example": "Category1"
                    }
                },
                "type": "object"
            },
            "SupplierCompany": {
                "title": "Supplier Company Model",
                "required": [
                    "name"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the Company",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "example": "The company name"
                    }
                },
                "type": "object"
            },
            "SupplierEmail": {
                "title": "Supplier Email Model",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The email of the supplier",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "test@email.com"
                    }
                },
                "type": "object"
            },
            "SupplierPhone": {
                "title": "Supplier Phone Model",
                "required": [
                    "value"
                ],
                "properties": {
                    "value": {
                        "description": "The phone of the supplier",
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "example": "11 1234 5678"
                    }
                },
                "type": "object"
            },
            "User": {
                "title": "User Model",
                "required": [
                    "name",
                    "email"
                ],
                "properties": {
                    "id": {
                        "description": "The unique identifier for the user",
                        "type": "number",
                        "format": "int64",
                        "example": 1
                    },
                    "name": {
                        "description": "The name of the user",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "example": "Admin"
                    },
                    "email": {
                        "description": "The email of the user",
                        "type": "string",
                        "maxLength": 255,
                        "minLength": 1,
                        "example": "example@tots.agency"
                    },
                    "token": {
                        "description": "The token for the user",
                        "type": "string",
                        "readOnly": true,
                        "example": "asdads$$5rfldfjopwnvpwvbnouan$"
                    },
                    "role": {
                        "description": "The role of the user",
                        "type": "string",
                        "enum": [
                            "Administrador",
                            "Arquitecto",
                            "Tesorero",
                            "Sistemas",
                            "Contador"
                        ],
                        "example": "Administrador"
                    }
                },
                "type": "object"
            }
        },
        "parameters": {
            "PaginationPerPageParameter": {
                "name": "perPage",
                "in": "query",
                "description": "Number of records per page, send `all` to get all records",
                "required": false,
                "schema": {
                    "type": "integer",
                    "format": "int64",
                    "default": 20
                }
            },
            "PaginationPageParameter": {
                "name": "page",
                "in": "query",
                "description": "The page number to get",
                "required": false,
                "schema": {
                    "type": "integer",
                    "format": "int64",
                    "default": 1
                }
            },
            "PaginationSortByParameter": {
                "name": "sortBy",
                "in": "query",
                "description": "The field to use to sort the list",
                "required": false,
                "schema": {
                    "type": "string",
                    "example": "name"
                }
            },
            "PaginationSortDirectionParameter": {
                "name": "sortDirection",
                "in": "query",
                "description": "The direction to use to sort the list, possible values `asc` or `desc`",
                "required": false,
                "schema": {
                    "type": "string",
                    "default": "asc",
                    "enum": [
                        "asc",
                        "desc"
                    ]
                }
            },
            "FiltersCashBoxMovementParameter": {
                "name": "filters",
                "in": "query",
                "description": "An URL encoded string with the json representation of the filters to apply, this endpoint supports user_ids and date_range",
                "required": false,
                "schema": {
                    "type": "string",
                    "example": "%7B%22user_ids%22:%5B1,3%5D,%22date_range%22:%7B%22start%22:1696129200,%22end%22:1698721200%7D%7D"
                }
            },
            "PaginationSearchParameter": {
                "name": "search",
                "in": "query",
                "description": "The search string to use filter the list",
                "required": false,
                "schema": {
                    "type": "string",
                    "example": "to search"
                }
            }
        },
        "securitySchemes": {
            "token": {
                "type": "apiKey",
                "description": "Enter token in format (Bearer \\<token\\>)",
                "name": "Authorization",
                "in": "header"
            }
        }
    },
    "tags": [
        {
            "name": "Auth",
            "description": "Auth"
        },
        {
            "name": "Bidding",
            "description": "Bidding"
        },
        {
            "name": "Purchase order",
            "description": "Purchase order"
        },
        {
            "name": "Bidding Status",
            "description": "Bidding Status"
        },
        {
            "name": "Bidding Supplier",
            "description": "Bidding Supplier"
        },
        {
            "name": "CAC Value",
            "description": "CAC Value"
        },
        {
            "name": "Cash Box",
            "description": "Cash Box"
        },
        {
            "name": "Cash Box Loan",
            "description": "Cash Box Loan"
        },
        {
            "name": "Cash box",
            "description": "Cash box"
        },
        {
            "name": "Loan",
            "description": "Loan"
        },
        {
            "name": "Movement",
            "description": "Movement"
        },
        {
            "name": "Transaction",
            "description": "Transaction"
        },
        {
            "name": "Cash Box Movement",
            "description": "Cash Box Movement"
        },
        {
            "name": "Payment method circuits",
            "description": "Payment method circuits"
        },
        {
            "name": "Dashboard",
            "description": "Dashboard"
        },
        {
            "name": "Dolar Value",
            "description": "Dolar Value"
        },
        {
            "name": "Expense Category",
            "description": "Expense Category"
        },
        {
            "name": "Guest Auth",
            "description": "Guest Auth"
        },
        {
            "name": "Guest",
            "description": "Guest"
        },
        {
            "name": "Login",
            "description": "Login"
        },
        {
            "name": "Logout",
            "description": "Logout"
        },
        {
            "name": "Instantiated Project task status",
            "description": "Instantiated Project task status"
        },
        {
            "name": "Investor",
            "description": "Investor"
        },
        {
            "name": "Project Unit Sale",
            "description": "Project Unit Sale"
        },
        {
            "name": "Project",
            "description": "Project"
        },
        {
            "name": "Project unit",
            "description": "Project unit"
        },
        {
            "name": "Project Unit",
            "description": "Project Unit"
        },
        {
            "name": "Sale",
            "description": "Sale"
        },
        {
            "name": "Condition",
            "description": "Condition"
        },
        {
            "name": "Account",
            "description": "Account"
        },
        {
            "name": "InvestorReceivable",
            "description": "InvestorReceivable"
        },
        {
            "name": "Payment",
            "description": "Payment"
        },
        {
            "name": "ReceivedPayment",
            "description": "ReceivedPayment"
        },
        {
            "name": "ProjectUnitSale",
            "description": "ProjectUnitSale"
        },
        {
            "name": "Projects",
            "description": "Projects"
        },
        {
            "name": "Received Payment",
            "description": "Received Payment"
        },
        {
            "name": "Receivable",
            "description": "Receivable"
        },
        {
            "name": "Investor, InvestorReceivable, Payment, ReceivedPayment, ProjectUnitSale, Projec, Sale, Account",
            "description": "Investor, InvestorReceivable, Payment, ReceivedPayment, ProjectUnitSale, Projec, Sale, Account"
        },
        {
            "name": "Notification",
            "description": "Notification"
        },
        {
            "name": "Payment Method Condition Offer",
            "description": "Payment Method Condition Offer"
        },
        {
            "name": "Payment Method",
            "description": "Payment Method"
        },
        {
            "name": "Project Configuration",
            "description": "Project Configuration"
        },
        {
            "name": "Configuration",
            "description": "Configuration"
        },
        {
            "name": "Project configuration",
            "description": "Project configuration"
        },
        {
            "name": "Duplicate",
            "description": "Duplicate"
        },
        {
            "name": "Duplication",
            "description": "Duplication"
        },
        {
            "name": "Project tasks shift notification",
            "description": "Project tasks shift notification"
        },
        {
            "name": "Status",
            "description": "Status"
        },
        {
            "name": "Project Status",
            "description": "Project Status"
        },
        {
            "name": "Project Task Notification Timing",
            "description": "Project Task Notification Timing"
        },
        {
            "name": "Project Task Stage",
            "description": "Project Task Stage"
        },
        {
            "name": "Project Task Start Type",
            "description": "Project Task Start Type"
        },
        {
            "name": "Reserve",
            "description": "Reserve"
        },
        {
            "name": "Reservation",
            "description": "Reservation"
        },
        {
            "name": "Exit price",
            "description": "Exit price"
        },
        {
            "name": "Price",
            "description": "Price"
        },
        {
            "name": "Project Units",
            "description": "Project Units"
        },
        {
            "name": "Project Unit Destination",
            "description": "Project Unit Destination"
        },
        {
            "name": "Project Unit Sale Condition",
            "description": "Project Unit Sale Condition"
        },
        {
            "name": "Project unit sale",
            "description": "Project unit sale"
        },
        {
            "name": "Received payment",
            "description": "Received payment"
        },
        {
            "name": "Investor receivable",
            "description": "Investor receivable"
        },
        {
            "name": "Project Unit Sales",
            "description": "Project Unit Sales"
        },
        {
            "name": "Investor Receivable",
            "description": "Investor Receivable"
        },
        {
            "name": "ReFinance",
            "description": "ReFinance"
        },
        {
            "name": "CAC",
            "description": "CAC"
        },
        {
            "name": "Project Unit Status",
            "description": "Project Unit Status"
        },
        {
            "name": "Project Unit Type",
            "description": "Project Unit Type"
        },
        {
            "name": "Property",
            "description": "Property"
        },
        {
            "name": "Property Status",
            "description": "Property Status"
        },
        {
            "name": "Purchase Order",
            "description": "Purchase Order"
        },
        {
            "name": "Purchase Order Item",
            "description": "Purchase Order Item"
        },
        {
            "name": "Purchase Order Status",
            "description": "Purchase Order Status"
        },
        {
            "name": "Roles",
            "description": "Roles"
        },
        {
            "name": "Simulator Condition Offer",
            "description": "Simulator Condition Offer"
        },
        {
            "name": "Simulator",
            "description": "Simulator"
        },
        {
            "name": "Supplier Category",
            "description": "Supplier Category"
        },
        {
            "name": "Supplier Company",
            "description": "Supplier Company"
        },
        {
            "name": "Supplier",
            "description": "Supplier"
        },
        {
            "name": "User",
            "description": "User"
        }
    ],
    "security": [
        {
            "token": []
        }
    ]
}