{
  "openapi": "3.0.0",
  "info": {
    "title": "Quiteria-back",
    "version": "0.0.1",
    "description": "Quiteria_Back",
    "contact": {}
  },
  "paths": {
    "/administrative-companies/count": {
      "get": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "count",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AdministrativeCompany.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AdministrativeCompany>"
                }
              }
            }
          }
        ],
        "operationId": "AdministrativeCompaniesController.count"
      }
    },
    "/administrative-companies/gestor/{idCompany}": {
      "delete": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "deleteGestorByCompanyId",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdministrativeCompany DELETE success by Company ID and User ID"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idCompany",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdministrativeCompaniesController.deleteGestorByCompanyId"
      }
    },
    "/administrative-companies/me": {
      "get": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "findMe",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdministrativeCompanyWithRelations"
                }
              }
            }
          }
        },
        "operationId": "AdministrativeCompaniesController.findMe"
      }
    },
    "/administrative-companies/user/{idUser}/companies": {
      "get": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "findManagedCompaniesByUser",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "List of companies where the user is a manager",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompanyWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idUser",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdministrativeCompaniesController.findManagedCompaniesByUser"
      }
    },
    "/administrative-companies/user/{idGestor}": {
      "delete": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "deleteUserByCompanyIdUser",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdministrativeCompany DELETE success by Company ID and User ID"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idGestor",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdministrativeCompaniesController.deleteUserByCompanyIdUser"
      }
    },
    "/administrative-companies/{id}": {
      "put": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "replaceById",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdministrativeCompany PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdministrativeCompany"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdministrativeCompaniesController.replaceById"
      },
      "patch": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "updateById",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdministrativeCompany PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdministrativeCompanyPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdministrativeCompaniesController.updateById"
      },
      "get": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "findById",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdministrativeCompanyWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdministrativeCompany.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AdministrativeCompaniesController.findById"
      },
      "delete": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "deleteById",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdministrativeCompany DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdministrativeCompaniesController.deleteById"
      }
    },
    "/administrative-companies": {
      "post": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "create",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdministrativeCompany"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewAdministrativeCompany"
              }
            }
          }
        },
        "operationId": "AdministrativeCompaniesController.create"
      },
      "patch": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "updateAll",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AdministrativeCompany.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AdministrativeCompany>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdministrativeCompanyPartial"
              }
            }
          }
        },
        "operationId": "AdministrativeCompaniesController.updateAll"
      },
      "get": {
        "x-controller-name": "AdministrativeCompaniesController",
        "x-operation-name": "find",
        "tags": [
          "AdministrativeCompaniesController"
        ],
        "responses": {
          "200": {
            "description": "Array of AdministrativeCompany model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdministrativeCompanyWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdministrativeCompany.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "AdministrativeCompaniesController.find"
      }
    },
    "/app-usage-stats/overview": {
      "get": {
        "x-controller-name": "AppUsageStatsController",
        "x-operation-name": "getOverview",
        "tags": [
          "AppUsageStatsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AppUsageStatsController.getOverview"
          }
        },
        "operationId": "AppUsageStatsController.getOverview"
      }
    },
    "/charges/{id}": {
      "patch": {
        "x-controller-name": "ChargeController",
        "x-operation-name": "updateById",
        "tags": [
          "ChargeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Charge PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ChargeController.updateById"
      },
      "get": {
        "x-controller-name": "ChargeController",
        "x-operation-name": "findById",
        "tags": [
          "ChargeController"
        ],
        "responses": {
          "200": {
            "description": "Charge model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargeWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Charge.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ChargeController.findById"
      },
      "delete": {
        "x-controller-name": "ChargeController",
        "x-operation-name": "deleteById",
        "tags": [
          "ChargeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Charge DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChargeController.deleteById"
      }
    },
    "/charges": {
      "post": {
        "x-controller-name": "ChargeController",
        "x-operation-name": "create",
        "tags": [
          "ChargeController"
        ],
        "responses": {
          "200": {
            "description": "Charge model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Charge"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCharge"
              }
            }
          }
        },
        "operationId": "ChargeController.create"
      }
    },
    "/clients/upload-csv": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "uploadClientsCsv",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Archivo CSV convertido a JSON",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Carga de fichero CSV en formato multipart/form-data",
          "required": true
        },
        "operationId": "IamController.uploadClientsCsv"
      }
    },
    "/companies/user": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findUserCompanies",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of Company instances that the current user belongs to",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Company"
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyController.findUserCompanies"
      }
    },
    "/companies/{id}/charges": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyCharges",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of Charge model instances for a specific company",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChargeWithRelations",
                  "definitions": {
                    "CompanyWithRelations": {
                      "$ref": "#/components/schemas/CompanyWithRelations"
                    },
                    "ExpenseTypeWithRelations": {
                      "$ref": "#/components/schemas/ExpenseTypeWithRelations"
                    },
                    "ExpenseRecordWithRelations": {
                      "$ref": "#/components/schemas/ExpenseRecordWithRelations"
                    },
                    "ContactWithRelations": {
                      "$ref": "#/components/schemas/ContactWithRelations"
                    },
                    "InvoiceSeriesWithRelations": {
                      "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                    },
                    "InvoiceRecordWithRelations": {
                      "$ref": "#/components/schemas/InvoiceRecordWithRelations"
                    },
                    "ChargeWithRelations": {
                      "$ref": "#/components/schemas/ChargeWithRelations"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.findCompanyCharges"
      }
    },
    "/companies/{id}/expenses": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyExpenses",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of ExpenseRecord model instances for a specific company with client information",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExpenseRecordWithRelations",
                  "definitions": {
                    "ExpenseRecordWithRelations": {
                      "$ref": "#/components/schemas/ExpenseRecordWithRelations"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "treasuryStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CompanyController.findCompanyExpenses"
      }
    },
    "/companies/{id}/financial-summary/{year}": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "getFinancialSummary",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Monthly financial summary for a specific year and company",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "month": {
                        "type": "string"
                      },
                      "income": {
                        "type": "number"
                      },
                      "expense": {
                        "type": "number"
                      },
                      "charges": {
                        "type": "number"
                      },
                      "balance": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "year",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.getFinancialSummary"
      }
    },
    "/companies/{id}/invoices": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyInvoices",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceRecord model instances for a specific company",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceRecord",
                  "definitions": {
                    "Item": {
                      "$ref": "#/components/schemas/Item"
                    },
                    "InvoiceRecord": {
                      "$ref": "#/components/schemas/InvoiceRecord"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "treasuryStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CompanyController.findCompanyInvoices"
      }
    },
    "/companies/{id}/logs": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyLogs",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of LoginLogs model instances for a specific company with client information",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LoginLogsWithRelations",
                  "definitions": {
                    "LoginLogsWithRelations": {
                      "$ref": "#/components/schemas/LoginLogsWithRelations"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.findCompanyLogs"
      }
    },
    "/companies/{id}/payments": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyPayments",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of Charge model instances for a specific company",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChargeWithRelations",
                  "definitions": {
                    "CompanyWithRelations": {
                      "$ref": "#/components/schemas/CompanyWithRelations"
                    },
                    "ExpenseTypeWithRelations": {
                      "$ref": "#/components/schemas/ExpenseTypeWithRelations"
                    },
                    "ExpenseRecordWithRelations": {
                      "$ref": "#/components/schemas/ExpenseRecordWithRelations"
                    },
                    "ContactWithRelations": {
                      "$ref": "#/components/schemas/ContactWithRelations"
                    },
                    "InvoiceSeriesWithRelations": {
                      "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                    },
                    "InvoiceRecordWithRelations": {
                      "$ref": "#/components/schemas/InvoiceRecordWithRelations"
                    },
                    "ChargeWithRelations": {
                      "$ref": "#/components/schemas/ChargeWithRelations"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.findCompanyPayments"
      }
    },
    "/companies/{id}/user/{idUser}": {
      "patch": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "updateCompanyUser",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of users belonging to a specific company with roles and additional information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "idUser",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "CompanyController.updateCompanyUser"
      }
    },
    "/companies/{id}/users": {
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findCompanyUsers",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of users belonging to a specific company with roles and additional information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "idUser": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "roleUserCompany": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.findCompanyUsers"
      }
    },
    "/companies/{id}": {
      "patch": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "updateById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "204": {
            "description": "Company PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CompanyController.updateById"
      },
      "delete": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "deleteById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "204": {
            "description": "Company DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.deleteById"
      }
    },
    "/companies": {
      "post": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "create",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Company model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Company"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCompany"
              }
            }
          }
        },
        "operationId": "CompanyController.create"
      },
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "find",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Array of Company model instances",
            "content": {
              "application/json": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Company",
                  "definitions": {
                    "Company": {
                      "$ref": "#/components/schemas/Company"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyController.find"
      }
    },
    "/company/user/{id}/active": {
      "patch": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "updateUserActiveStatus",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "204": {
            "description": "Update the active status of a user"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "active": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "active"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CompanyController.updateUserActiveStatus"
      }
    },
    "/company/user/{id}": {
      "delete": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "deleteUserFromCompany",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "204": {
            "description": "Delete a user from a company"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.deleteUserFromCompany"
      }
    },
    "/contacts/companies/{companyId}": {
      "get": {
        "x-controller-name": "ContactController",
        "x-operation-name": "findContactsByCompany",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "200": {
            "description": "Array of Contact model instances belonging to a Company",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactController.findContactsByCompany"
      }
    },
    "/contacts/upload-csv/{companyId}": {
      "post": {
        "x-controller-name": "ContactController",
        "x-operation-name": "uploadClientsCsv",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "204": {
            "description": "Archivo CSV convertido a JSON",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Carga de fichero CSV en formato multipart/form-data",
          "required": true
        },
        "operationId": "ContactController.uploadClientsCsv"
      }
    },
    "/contacts/{id}/expenses": {
      "get": {
        "x-controller-name": "ContactController",
        "x-operation-name": "findExpenses",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "200": {
            "description": "Array of Expenses model instances related to a Contact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceRecord"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactController.findExpenses"
      }
    },
    "/contacts/{id}/invoices": {
      "get": {
        "x-controller-name": "ContactController",
        "x-operation-name": "findInvoices",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "200": {
            "description": "Array of Invoice model instances related to a Contact",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceRecord"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactController.findInvoices"
      }
    },
    "/contacts/{id}": {
      "patch": {
        "x-controller-name": "ContactController",
        "x-operation-name": "updateById",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "204": {
            "description": "Contact PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ContactController.updateById"
      },
      "delete": {
        "x-controller-name": "ContactController",
        "x-operation-name": "deleteById",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "204": {
            "description": "Contact DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactController.deleteById"
      }
    },
    "/contacts": {
      "post": {
        "x-controller-name": "ContactController",
        "x-operation-name": "create",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "200": {
            "description": "Contact model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewContact"
              }
            }
          }
        },
        "operationId": "ContactController.create"
      },
      "get": {
        "x-controller-name": "ContactController",
        "x-operation-name": "find",
        "tags": [
          "ContactController"
        ],
        "responses": {
          "200": {
            "description": "Array of Contact model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            }
          }
        },
        "operationId": "ContactController.find"
      }
    },
    "/expense-records/count": {
      "get": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "count",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "200": {
            "description": "ExpenseRecord model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ExpenseRecord.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ExpenseRecord>"
                }
              }
            }
          }
        ],
        "operationId": "ExpenseRecordController.count"
      }
    },
    "/expense-records/{id}": {
      "put": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "replaceById",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "204": {
            "description": "ExpenseRecord PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenseRecord"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ExpenseRecordController.replaceById"
      },
      "patch": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "updateById",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "204": {
            "description": "ExpenseRecord PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenseRecordPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ExpenseRecordController.updateById"
      },
      "get": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "findById",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "200": {
            "description": "ExpenseRecord model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseRecordWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseRecord.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ExpenseRecordController.findById"
      },
      "delete": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "deleteById",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "204": {
            "description": "ExpenseRecord DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExpenseRecordController.deleteById"
      }
    },
    "/expense-records": {
      "post": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "create",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "200": {
            "description": "ExpenseRecord model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseRecord"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewExpenseRecord"
              }
            }
          }
        },
        "operationId": "ExpenseRecordController.create"
      },
      "get": {
        "x-controller-name": "ExpenseRecordController",
        "x-operation-name": "find",
        "tags": [
          "ExpenseRecordController"
        ],
        "responses": {
          "200": {
            "description": "Array of ExpenseRecord model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseRecordWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseRecord.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ExpenseRecordController.find"
      }
    },
    "/expense-types/{id}": {
      "patch": {
        "x-controller-name": "ExpenseTypeController",
        "x-operation-name": "updateById",
        "tags": [
          "ExpenseTypeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ExpenseType PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenseTypePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ExpenseTypeController.updateById"
      },
      "get": {
        "x-controller-name": "ExpenseTypeController",
        "x-operation-name": "findById",
        "tags": [
          "ExpenseTypeController"
        ],
        "responses": {
          "200": {
            "description": "ExpenseType model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseTypeWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseType.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ExpenseTypeController.findById"
      },
      "delete": {
        "x-controller-name": "ExpenseTypeController",
        "x-operation-name": "deleteById",
        "tags": [
          "ExpenseTypeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ExpenseType DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExpenseTypeController.deleteById"
      }
    },
    "/expense-types": {
      "post": {
        "x-controller-name": "ExpenseTypeController",
        "x-operation-name": "create",
        "tags": [
          "ExpenseTypeController"
        ],
        "responses": {
          "200": {
            "description": "ExpenseType model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseType"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewExpenseType"
              }
            }
          }
        },
        "operationId": "ExpenseTypeController.create"
      },
      "get": {
        "x-controller-name": "ExpenseTypeController",
        "x-operation-name": "find",
        "tags": [
          "ExpenseTypeController"
        ],
        "responses": {
          "200": {
            "description": "Array of ExpenseType model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenseTypeWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenseType.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ExpenseTypeController.find"
      }
    },
    "/fiskaly-integration/generate-agreement/{companyId}": {
      "get": {
        "x-controller-name": "FiskalyIntegrationController",
        "x-operation-name": "generateAgreement",
        "tags": [
          "FiskalyIntegrationController"
        ],
        "responses": {
          "200": {
            "description": "AdministrativeCompany model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FiskalyIntegrationController.generateAgreement"
      }
    },
    "/fiskaly-integration/initialize-fiskaly-company/{companyId}": {
      "post": {
        "x-controller-name": "FiskalyIntegrationController",
        "x-operation-name": "initializeFiskaly",
        "tags": [
          "FiskalyIntegrationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FiskalyIntegrationController.initializeFiskaly"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FiskalyIntegrationController.initializeFiskaly"
      }
    },
    "/fiskaly-integration/invoices/{companyId}/{invoiceId}/cancel": {
      "post": {
        "x-controller-name": "FiskalyIntegrationController",
        "x-operation-name": "cancelInvoice",
        "tags": [
          "FiskalyIntegrationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FiskalyIntegrationController.cancelInvoice"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FiskalyIntegrationController.cancelInvoice"
      }
    },
    "/fiskaly-integration/invoices/{companyId}/{invoiceId}": {
      "get": {
        "x-controller-name": "FiskalyIntegrationController",
        "x-operation-name": "getInvoiceById",
        "tags": [
          "FiskalyIntegrationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FiskalyIntegrationController.getInvoiceById"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FiskalyIntegrationController.getInvoiceById"
      }
    },
    "/fiskaly-integration/upload-agreement/{companyId}": {
      "post": {
        "x-controller-name": "FiskalyIntegrationController",
        "x-operation-name": "uploadAgreement",
        "tags": [
          "FiskalyIntegrationController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FiskalyIntegrationController.uploadAgreement"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agreement": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FiskalyIntegrationController.uploadAgreement"
      }
    },
    "/global/user/me": {
      "delete": {
        "x-controller-name": "GlobalUserController",
        "x-operation-name": "deleteLoggedUser",
        "tags": [
          "GlobalUserController"
        ],
        "responses": {
          "204": {
            "description": "User DELETE success"
          }
        },
        "operationId": "GlobalUserController.deleteLoggedUser"
      }
    },
    "/global/user/{id}": {
      "delete": {
        "x-controller-name": "GlobalUserController",
        "x-operation-name": "deleteById",
        "tags": [
          "GlobalUserController"
        ],
        "responses": {
          "204": {
            "description": "User DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GlobalUserController.deleteById"
      }
    },
    "/iam/change-password": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "changePassword",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Change user password"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "newPassword": {
                    "type": "string"
                  },
                  "oldPassword": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "IamController.changePassword"
      }
    },
    "/iam/check-invite-code": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "checkInviteCode",
        "tags": [
          "IamController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ]
              }
            }
          }
        },
        "operationId": "IamController.checkInviteCode"
      }
    },
    "/iam/email-exists/{email}": {
      "get": {
        "x-controller-name": "IamController",
        "x-operation-name": "emailExists",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Check if an email is already in use",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "exists": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IamController.emailExists"
      }
    },
    "/iam/generate-login-logs": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "generateLoginLogs",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Generate login logs for a user on a specific date",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "userId",
                  "date"
                ],
                "properties": {
                  "userId": {
                    "type": "string"
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            }
          }
        },
        "operationId": "IamController.generateLoginLogs"
      }
    },
    "/iam/generate-login-logs-range": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "generateLoginLogsRange",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Generate login logs for a user over a date range",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "count": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "userId",
                  "startDate",
                  "endDate"
                ],
                "properties": {
                  "userId": {
                    "type": "string"
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            }
          }
        },
        "operationId": "IamController.generateLoginLogsRange"
      }
    },
    "/iam/invite/gestor": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "inviteGestor",
        "tags": [
          "IamController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserIAMInviteOptional_name-email_"
              }
            }
          }
        },
        "operationId": "IamController.inviteGestor"
      }
    },
    "/iam/invite/user": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "inviteUser",
        "tags": [
          "IamController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserIAMInviteOptional_name-email_"
              }
            }
          }
        },
        "operationId": "IamController.inviteUser"
      }
    },
    "/iam/invite": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "invite",
        "tags": [
          "IamController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserIAMInvite"
              }
            }
          }
        },
        "operationId": "IamController.invite"
      }
    },
    "/iam/login": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "login",
        "tags": [
          "IamController"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Token",
            "content": {}
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 8
                  }
                }
              }
            }
          },
          "description": "The input of login function",
          "required": true
        },
        "operationId": "IamController.login"
      }
    },
    "/iam/loginAdminUser/company/{idCompany}/gestor/{idGestor}": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "loginAdminCompanyGestorPsychologist",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "idCompany",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "idGestor",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IamController.loginAdminCompanyGestorPsychologist"
      }
    },
    "/iam/loginAdminUser/gestor/{idGestor}": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "loginAdminAsGestor",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "idGestor",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IamController.loginAdminAsGestor"
      }
    },
    "/iam/loginAdminUser/{idCompany}": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "loginAdminCompanyPsychologist",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "idCompany",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IamController.loginAdminCompanyPsychologist"
      }
    },
    "/iam/me": {
      "get": {
        "x-controller-name": "IamController",
        "x-operation-name": "printCurrentUser",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "The current user profile"
          }
        },
        "operationId": "IamController.printCurrentUser"
      }
    },
    "/iam/register": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "create",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserIAM"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 8
                  },
                  "name": {
                    "type": "string"
                  },
                  "nickname": {
                    "type": "string"
                  },
                  "imgUser": {
                    "type": "string"
                  },
                  "telephone": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "The input of registration function",
          "required": true
        },
        "operationId": "IamController.create"
      }
    },
    "/iam/reset-password/finish": {
      "put": {
        "x-controller-name": "IamController",
        "x-operation-name": "resetPasswordFinish",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IamController.resetPasswordFinish"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyAndPassword"
              }
            }
          }
        },
        "operationId": "IamController.resetPasswordFinish"
      }
    },
    "/iam/reset-password/init": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "resetPasswordInit",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IamController.resetPasswordInit"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordInit"
              }
            }
          }
        },
        "operationId": "IamController.resetPasswordInit"
      }
    },
    "/iam/validate": {
      "patch": {
        "x-controller-name": "IamController",
        "x-operation-name": "activateAccount",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Activate users account"
          }
        },
        "operationId": "IamController.activateAccount"
      }
    },
    "/iam/{id}/active": {
      "patch": {
        "x-controller-name": "IamController",
        "x-operation-name": "updateUserActiveStatus",
        "tags": [
          "IamController"
        ],
        "responses": {
          "204": {
            "description": "Update the active status of a user"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "active": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "active"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "IamController.updateUserActiveStatus"
      }
    },
    "/infraestucture-settings": {
      "get": {
        "x-controller-name": "InfraestructureSettingsController",
        "x-operation-name": "find",
        "tags": [
          "InfraestructureSettingsController"
        ],
        "responses": {
          "200": {
            "description": "Information of the diferents elements that are part of the hole application like the app version or the api version",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InfraestuctureSettings"
                  }
                }
              }
            }
          }
        },
        "operationId": "InfraestructureSettingsController.find"
      }
    },
    "/invoice-products/company/{companyId}": {
      "get": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "findCompanyProducts",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceProduct model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceProductWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceProduct.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceProductController.findCompanyProducts"
      }
    },
    "/invoice-products/{id}": {
      "patch": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "updateById",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceProduct PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceProductPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InvoiceProductController.updateById"
      },
      "get": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "findById",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceProduct model instance with relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceProductWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceProduct.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceProductController.findById"
      },
      "delete": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "deleteById",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceProduct DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceProductController.deleteById"
      }
    },
    "/invoice-products": {
      "post": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "create",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceProduct model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceProduct"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewInvoiceProduct"
              }
            }
          }
        },
        "operationId": "InvoiceProductController.create"
      },
      "get": {
        "x-controller-name": "InvoiceProductController",
        "x-operation-name": "find",
        "tags": [
          "InvoiceProductController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceProduct model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceProductWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceProduct.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceProductController.find"
      }
    },
    "/invoice-records/calculate": {
      "post": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "calculateInvoice",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceRecord model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecord"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "unitPrice": {
                      "type": "number"
                    },
                    "units": {
                      "type": "number",
                      "default": 1
                    },
                    "idTaxes": {
                      "type": "string"
                    },
                    "includeWithholding": {
                      "type": "boolean"
                    },
                    "equivalenceSurcharge": {
                      "type": "boolean"
                    },
                    "withholdingPercentage": {
                      "type": "number"
                    },
                    "discount": {
                      "type": "number"
                    },
                    "concept": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "InvoiceRecordController.calculateInvoice"
      }
    },
    "/invoice-records/document/{id}": {
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "getInvoiceDocument",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InvoiceRecordController.getInvoiceDocument"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "documentType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InvoiceRecordController.getInvoiceDocument"
      }
    },
    "/invoice-records/expected-invoice-number/{companyId}": {
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "getExpectedInvoiceNumber",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InvoiceRecordController.getExpectedInvoiceNumber"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "invoiceSeries",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InvoiceRecordController.getExpectedInvoiceNumber"
      }
    },
    "/invoice-records/export-csv/{companyId}": {
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "exportInvoicesToCSV",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "Return value of InvoiceRecordController.exportInvoicesToCSV"
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeEmitted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeReceived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "InvoiceRecordController.exportInvoicesToCSV"
      }
    },
    "/invoice-records/inverse-calculate": {
      "post": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "inverseCalculateInvoice",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "Calculate base unitPrice from final total",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "unitPrice": {
                      "type": "number"
                    },
                    "totalBeforeTaxes": {
                      "type": "number"
                    },
                    "ivaAmount": {
                      "type": "number"
                    },
                    "equivalenceSurchargeAmount": {
                      "type": "number"
                    },
                    "withholdingAmount": {
                      "type": "number"
                    },
                    "finalTotal": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "finalTotal",
                  "units",
                  "idTaxes"
                ],
                "properties": {
                  "finalTotal": {
                    "type": "number"
                  },
                  "units": {
                    "type": "number"
                  },
                  "idTaxes": {
                    "type": "string"
                  },
                  "includeWithholding": {
                    "type": "boolean"
                  },
                  "equivalenceSurcharge": {
                    "type": "boolean"
                  },
                  "withholdingPercentage": {
                    "type": "number"
                  },
                  "discount": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "operationId": "InvoiceRecordController.inverseCalculateInvoice"
      }
    },
    "/invoice-records/noinvioices/{id}": {
      "delete": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "deleteDraftById",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceRecord DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "companyId": {
                    "type": "string"
                  }
                },
                "required": [
                  "companyId"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InvoiceRecordController.deleteDraftById"
      }
    },
    "/invoice-records/send": {
      "post": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "sendInvoice",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceRecord model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecord"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invoiceId": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string"
                  },
                  "body": {
                    "type": "string"
                  }
                },
                "required": [
                  "invoiceId",
                  "email",
                  "subject",
                  "body"
                ]
              }
            }
          }
        },
        "operationId": "InvoiceRecordController.sendInvoice"
      }
    },
    "/invoice-records/{id}/qr": {
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "getQrAeat",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceRecordController.getQrAeat"
      }
    },
    "/invoice-records/{id}": {
      "patch": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "updateById",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceRecord PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceRecordPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InvoiceRecordController.updateById"
      },
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "findById",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceRecord model instance with relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecordWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecord.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceRecordController.findById"
      },
      "delete": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "deleteById",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceRecord DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "companyId": {
                    "type": "string"
                  }
                },
                "required": [
                  "companyId"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InvoiceRecordController.deleteById"
      }
    },
    "/invoice-records": {
      "post": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "create",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceRecord model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecord"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewInvoiceRecord"
              }
            }
          }
        },
        "operationId": "InvoiceRecordController.create"
      },
      "get": {
        "x-controller-name": "InvoiceRecordController",
        "x-operation-name": "find",
        "tags": [
          "InvoiceRecordController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceRecord model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceRecordWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceRecord.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceRecordController.find"
      }
    },
    "/invoice-series/company/{companyId}": {
      "get": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "findCompanySeries",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSeries.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceSeriesController.findCompanySeries"
      }
    },
    "/invoice-series/deletable/{companyId}": {
      "get": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "findInvoiceSeriesDeletable",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceSeriesController.findInvoiceSeriesDeletable"
      }
    },
    "/invoice-series/{id}": {
      "get": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "findById",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceSeries model instance with relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSeries.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceSeriesController.findById"
      },
      "delete": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "deleteById",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "204": {
            "description": "InvoiceProduct DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceSeriesController.deleteById"
      }
    },
    "/invoice-series": {
      "post": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "create",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "200": {
            "description": "InvoiceSeries model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSeries"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewInvoiceSeries"
              }
            }
          }
        },
        "operationId": "InvoiceSeriesController.create"
      },
      "get": {
        "x-controller-name": "InvoiceSeriesController",
        "x-operation-name": "find",
        "tags": [
          "InvoiceSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of InvoiceSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceSeries.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvoiceSeriesController.find"
      }
    },
    "/payments/{id}": {
      "patch": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "updateById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentController.updateById"
      },
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "findById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PaymentController.findById"
      },
      "delete": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "deleteById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentController.deleteById"
      }
    },
    "/payments": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "create",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPayment"
              }
            }
          }
        },
        "operationId": "PaymentController.create"
      }
    },
    "/propousal-series/company/{companyId}": {
      "get": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "findCompanySeries",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of PropousalSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PropousalSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropousalSeries.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PropousalSeriesController.findCompanySeries"
      }
    },
    "/propousal-series/deletable/{companyId}": {
      "get": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "findInvoiceSeriesDeletable",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of PropousalSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PropousalSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PropousalSeriesController.findInvoiceSeriesDeletable"
      }
    },
    "/propousal-series/{id}": {
      "patch": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "updateById",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "204": {
            "description": "PropousalSeries PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PropousalSeriesPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PropousalSeriesController.updateById"
      },
      "get": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "findById",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "200": {
            "description": "PropousalSeries model instance with relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropousalSeriesWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropousalSeries.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PropousalSeriesController.findById"
      },
      "delete": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "deleteById",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "204": {
            "description": "PropousalSeries DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PropousalSeriesController.deleteById"
      }
    },
    "/propousal-series": {
      "post": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "create",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "200": {
            "description": "PropousalSeries model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropousalSeries"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPropousalSeries"
              }
            }
          }
        },
        "operationId": "PropousalSeriesController.create"
      },
      "get": {
        "x-controller-name": "PropousalSeriesController",
        "x-operation-name": "find",
        "tags": [
          "PropousalSeriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of PropousalSeries model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PropousalSeriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropousalSeries.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PropousalSeriesController.find"
      }
    },
    "/register-company-and-user": {
      "post": {
        "x-controller-name": "IamController",
        "x-operation-name": "registerCompanyAndUserEndpoint",
        "tags": [
          "IamController"
        ],
        "responses": {
          "200": {
            "description": "Register a new company and user, and associate them with a role",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "company": {
                    "$ref": "#/components/schemas/NewCompany"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "password": {
                        "type": "string"
                      },
                      "nickname": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "telephone": {
                        "type": "string"
                      },
                      "imgUser": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "email",
                      "password"
                    ]
                  },
                  "role": {
                    "type": "string",
                    "description": "Role of the user in the company"
                  },
                  "inviteCode": {
                    "type": "string",
                    "description": "Invite code to register the user in the company"
                  }
                },
                "required": [
                  "company",
                  "user",
                  "role",
                  "inviteCode"
                ]
              }
            }
          }
        },
        "operationId": "IamController.registerCompanyAndUserEndpoint"
      }
    },
    "/stripe/payment-intent": {
      "post": {
        "x-controller-name": "StripeController",
        "x-operation-name": "createPaymentIntent",
        "tags": [
          "StripeController"
        ],
        "responses": {
          "200": {
            "description": "Create a payment intent",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "clientSecret": {
                      "type": "string"
                    },
                    "paymentIntentId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripeController.createPaymentIntent"
      }
    },
    "/stripe/prices": {
      "get": {
        "x-controller-name": "StripeController",
        "x-operation-name": "getPrices",
        "tags": [
          "StripeController"
        ],
        "responses": {
          "200": {
            "description": "Get available pricing plans",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripeController.getPrices"
      }
    },
    "/stripe/public-checkout-session": {
      "post": {
        "x-controller-name": "StripePublicController",
        "x-operation-name": "createPublicCheckoutSession",
        "tags": [
          "StripePublicController"
        ],
        "responses": {
          "200": {
            "description": "Create a public checkout session for new users",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sessionId": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "priceId",
                  "successUrl",
                  "cancelUrl",
                  "email"
                ],
                "properties": {
                  "priceId": {
                    "type": "string"
                  },
                  "successUrl": {
                    "type": "string"
                  },
                  "cancelUrl": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripePublicController.createPublicCheckoutSession"
      }
    },
    "/stripe/public-prices": {
      "get": {
        "x-controller-name": "StripePublicController",
        "x-operation-name": "getPublicPrices",
        "tags": [
          "StripePublicController"
        ],
        "responses": {
          "200": {
            "description": "Get available pricing plans without authentication",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripePublicController.getPublicPrices"
      }
    },
    "/stripe/subscription/{id}": {
      "delete": {
        "x-controller-name": "StripeController",
        "x-operation-name": "cancelSubscription",
        "tags": [
          "StripeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Subscription cancelled"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "StripeController.cancelSubscription"
      }
    },
    "/stripe/subscription": {
      "post": {
        "x-controller-name": "StripeController",
        "x-operation-name": "createSubscription",
        "tags": [
          "StripeController"
        ],
        "responses": {
          "200": {
            "description": "Create a subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscriptionId": {
                      "type": "string"
                    },
                    "clientSecret": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "priceId"
                ],
                "properties": {
                  "priceId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripeController.createSubscription"
      },
      "get": {
        "x-controller-name": "StripeController",
        "x-operation-name": "getSubscription",
        "tags": [
          "StripeController"
        ],
        "responses": {
          "200": {
            "description": "Get current user subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "StripeController.getSubscription"
      }
    },
    "/stripe/validate-payment-code": {
      "post": {
        "x-controller-name": "StripePublicController",
        "x-operation-name": "validatePaymentCode",
        "tags": [
          "StripePublicController"
        ],
        "responses": {
          "200": {
            "description": "Validate a payment invitation code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripePublicController.validatePaymentCode"
      }
    },
    "/stripe/webhook": {
      "post": {
        "x-controller-name": "StripePublicController",
        "x-operation-name": "handleWebhook",
        "tags": [
          "StripePublicController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Stripe webhook received"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "StripePublicController.handleWebhook"
      }
    },
    "/tax-rates/calculate": {
      "get": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "calculateTax",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "Calculated tax and final price",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "precioBase": {
                      "type": "number"
                    },
                    "impuesto": {
                      "type": "number"
                    },
                    "precioFinal": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idTaxRate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "precioBase",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TaxRateController.calculateTax"
      }
    },
    "/tax-rates/{id}": {
      "get": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "findById",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "TaxRate model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxRateWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TaxRateController.findById"
      }
    },
    "/tax-rates": {
      "post": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "create",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "TaxRate model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxRate"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTaxRate"
              }
            }
          }
        },
        "operationId": "TaxRateController.create"
      },
      "get": {
        "x-controller-name": "TaxRateController",
        "x-operation-name": "find",
        "tags": [
          "TaxRateController"
        ],
        "responses": {
          "200": {
            "description": "Array of TaxRate model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaxRateWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "TaxRateController.find"
      }
    },
    "/tutorials/seen": {
      "get": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "findSeenTutorialIds",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "200": {
            "description": "Array of seen tutorial ids for current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "TutorialController.findSeenTutorialIds"
      }
    },
    "/tutorials/{id}/seen": {
      "post": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "markTutorialAsSeen",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "200": {
            "description": "Tutorial marked as seen for current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TutorialController.markTutorialAsSeen"
      }
    },
    "/tutorials/{id}": {
      "patch": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "updateById",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Tutorial PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TutorialPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TutorialController.updateById"
      },
      "get": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "findById",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "200": {
            "description": "Tutorial model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TutorialWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tutorial.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TutorialController.findById"
      },
      "delete": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "deleteById",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Tutorial DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TutorialController.deleteById"
      }
    },
    "/tutorials": {
      "post": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "create",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "200": {
            "description": "Tutorial model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tutorial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTutorial"
              }
            }
          }
        },
        "operationId": "TutorialController.create"
      },
      "get": {
        "x-controller-name": "TutorialController",
        "x-operation-name": "find",
        "tags": [
          "TutorialController"
        ],
        "responses": {
          "200": {
            "description": "Array of Tutorial model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TutorialWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tutorial.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TutorialController.find"
      }
    },
    "/uploadFilesMultiPart": {
      "post": {
        "x-controller-name": "MediaController",
        "x-operation-name": "uploadFile",
        "tags": [
          "MediaController"
        ],
        "responses": {
          "200": {
            "description": "Post model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "413": {
            "description": "Payload Too Large"
          },
          "415": {
            "description": "Unsupported Media Type"
          },
          "429": {
            "description": "Too Many Requests"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "multipart/form-data",
          "required": true
        },
        "operationId": "MediaController.uploadFile"
      }
    },
    "/user/me": {
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateLoggedUser",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "Update all the information related with the logged user"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userIAM": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "format": "email"
                      },
                      "password": {
                        "type": "string",
                        "minLength": 8
                      }
                    }
                  },
                  "userFeatures": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "nickname": {
                        "type": "string"
                      },
                      "telephone": {
                        "type": "number"
                      },
                      "imgUser": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "The input of registration function",
          "required": true
        },
        "operationId": "UserController.updateLoggedUser"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "printCurrentUser",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "The current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFeaturesWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFeatures.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UserController.printCurrentUser"
      },
      "delete": {
        "x-controller-name": "UserController",
        "x-operation-name": "deleteLoggedUser",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "User DELETE success"
          }
        },
        "operationId": "UserController.deleteLoggedUser"
      }
    },
    "/user/{id}": {
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "Update all the information related with the user"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userIAM": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "format": "email"
                      },
                      "password": {
                        "type": "string",
                        "minLength": 8
                      }
                    }
                  },
                  "userFeatures": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "nickname": {
                        "type": "string"
                      },
                      "telephone": {
                        "type": "number"
                      },
                      "imgUser": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "The input of registration function",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UserController.updateById"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "findById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "All the information related with the user (filter --> relation with userSettings & userIAM)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFeaturesWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFeatures.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UserController.findById"
      },
      "delete": {
        "x-controller-name": "UserController",
        "x-operation-name": "deleteById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "User DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserController.deleteById"
      }
    },
    "/user-company-roles/company/me": {
      "get": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "getMyCompaniesRole",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "200": {
            "description": "Role of the authenticated user in their company",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserCompanyRoleController.getMyCompaniesRole"
      }
    },
    "/user-company-roles/user/me": {
      "get": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "getMyRole",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "200": {
            "description": "Role of the authenticated user in their company",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserCompanyRoleController.getMyRole"
      }
    },
    "/user-company-roles/{id}": {
      "patch": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "updateById",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "204": {
            "description": "UserCompanyRole PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCompanyRolePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserCompanyRoleController.updateById"
      },
      "get": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "findById",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "200": {
            "description": "UserCompanyRole model instance with relations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserCompanyRoleWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserCompanyRoleController.findById"
      },
      "delete": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "deleteById",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "204": {
            "description": "UserCompanyRole DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserCompanyRoleController.deleteById"
      }
    },
    "/user-company-roles": {
      "post": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "create",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "200": {
            "description": "UserCompanyRole model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserCompanyRole"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUserCompanyRole"
              }
            }
          }
        },
        "operationId": "UserCompanyRoleController.create"
      },
      "get": {
        "x-controller-name": "UserCompanyRoleController",
        "x-operation-name": "find",
        "tags": [
          "UserCompanyRoleController"
        ],
        "responses": {
          "200": {
            "description": "Array of UserCompanyRole model instances with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserCompanyRoleWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserCompanyRole.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UserCompanyRoleController.find"
      }
    },
    "/user-settings/{id}": {
      "patch": {
        "x-controller-name": "UserSettingsController",
        "x-operation-name": "updateById",
        "tags": [
          "UserSettingsController"
        ],
        "responses": {
          "204": {
            "description": "UserSettings PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserSettingsPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserSettingsController.updateById"
      },
      "get": {
        "x-controller-name": "UserSettingsController",
        "x-operation-name": "findById",
        "tags": [
          "UserSettingsController"
        ],
        "responses": {
          "200": {
            "description": "UserSettings model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSettings"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserSettingsController.findById"
      }
    },
    "/users/gestors": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "findGestors",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Array with all users that have the role Gestor (filter --> relation with userSettings & userIAM)"
          }
        },
        "operationId": "UserController.findGestors"
      }
    },
    "/users": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "find",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Array with all the users information (filter --> relation with userSettings & userIAM)"
          }
        },
        "operationId": "UserController.find"
      }
    }
  },
  "servers": [
    {
      "url": "https://dev-api.quiteria.es"
    }
  ],
  "components": {
    "schemas": {
      "UserIAM": {
        "title": "UserIAM",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "realm": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "emailVerified": {
            "type": "boolean"
          },
          "verificationToken": {
            "type": "string"
          },
          "idUser": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "privacyPolicy": {
            "type": "boolean"
          }
        },
        "required": [
          "email",
          "idUser",
          "privacyPolicy"
        ],
        "additionalProperties": false
      },
      "NewCompany": {
        "title": "NewCompany",
        "type": "object",
        "description": "(tsType: Omit<Company, 'companyId'>, schemaOptions: { title: 'NewCompany', exclude: [ 'companyId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "fiscalName": {
            "type": "string"
          },
          "nif": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "fiscalAddress": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "streetNumber": {
            "type": "string"
          },
          "floorAndDoorNumber": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "mainColor": {
            "type": "string"
          },
          "idDefaultSerieInvoice": {
            "type": "string"
          },
          "idDefaultSerieProforma": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "useFiskaly": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "fiskalyStep": {
            "type": "string"
          },
          "territory": {
            "type": "string"
          },
          "dateFromKit": {
            "type": "string"
          },
          "dateToKit": {
            "type": "string"
          },
          "dateFromContracted": {
            "type": "string"
          },
          "dateToContracted": {
            "type": "string"
          },
          "creditCardDetails": {
            "type": "string"
          },
          "defaultObservations": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "paymentMethod"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Company, 'companyId'>"
      },
      "ResetPasswordInit": {
        "title": "ResetPasswordInit",
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "KeyAndPassword": {
        "title": "KeyAndPassword",
        "type": "object",
        "properties": {
          "resetKey": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UserIAMInvite": {
        "title": "UserIAMInvite",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "companyRole": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "dateIni": {
            "type": "string",
            "format": "date-time"
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time"
          },
          "managerId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UserIAMInviteOptional_name-email_": {
        "title": "UserIAMInviteOptional_name-email_",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<UserIAMInvite, 'name' | 'email'>, schemaOptions: { optional: [ 'name', 'email' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "companyRole": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "dateIni": {
            "type": "string",
            "format": "date-time"
          },
          "dateEnd": {
            "type": "string",
            "format": "date-time"
          },
          "managerId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<UserIAMInvite, 'name' | 'email'>"
      },
      "Attachment": {
        "title": "Attachment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "path"
        ],
        "additionalProperties": false
      },
      "UserSettings": {
        "title": "UserSettings",
        "type": "object",
        "properties": {
          "idUser": {
            "type": "string"
          },
          "pushToken": {
            "type": "string"
          },
          "onboardingShown": {
            "type": "boolean"
          }
        },
        "required": [
          "idUser"
        ],
        "additionalProperties": false
      },
      "UserSettingsPartial": {
        "title": "UserSettingsPartial",
        "type": "object",
        "description": "(tsType: Partial<UserSettings>, schemaOptions: { partial: true })",
        "properties": {
          "idUser": {
            "type": "string"
          },
          "pushToken": {
            "type": "string"
          },
          "onboardingShown": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<UserSettings>"
      },
      "UserSettingsWithRelations": {
        "title": "UserSettingsWithRelations",
        "type": "object",
        "description": "(tsType: UserSettingsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idUser": {
            "type": "string"
          },
          "pushToken": {
            "type": "string"
          },
          "onboardingShown": {
            "type": "boolean"
          }
        },
        "required": [
          "idUser"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserSettingsWithRelations"
      },
      "UserCredentialsWithRelations": {
        "title": "UserCredentialsWithRelations",
        "type": "object",
        "description": "(tsType: UserCredentialsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "password",
          "userId"
        ],
        "additionalProperties": true,
        "x-typescript-type": "UserCredentialsWithRelations"
      },
      "UserIAMWithRelations": {
        "title": "UserIAMWithRelations",
        "type": "object",
        "description": "(tsType: UserIAMWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "realm": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "emailVerified": {
            "type": "boolean"
          },
          "verificationToken": {
            "type": "string"
          },
          "idUser": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "privacyPolicy": {
            "type": "boolean"
          },
          "userCredentials": {
            "$ref": "#/components/schemas/UserCredentialsWithRelations"
          }
        },
        "required": [
          "email",
          "idUser",
          "privacyPolicy"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserIAMWithRelations"
      },
      "UserFeaturesWithRelations": {
        "title": "UserFeaturesWithRelations",
        "type": "object",
        "description": "(tsType: UserFeaturesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idUser": {
            "type": "string"
          },
          "imgUser": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "telephone": {
            "type": "number"
          },
          "userSettings": {
            "$ref": "#/components/schemas/UserSettingsWithRelations"
          },
          "user": {
            "$ref": "#/components/schemas/UserIAMWithRelations"
          }
        },
        "required": [
          "idUser"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserFeaturesWithRelations"
      },
      "InfraestuctureSettings": {
        "title": "InfraestuctureSettings",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "appVersion": {
            "type": "string"
          },
          "apiVersion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Contact": {
        "title": "Contact",
        "type": "object",
        "properties": {
          "idContact": {
            "type": "string"
          },
          "contactType": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "office": {
            "type": "string"
          },
          "managementBody": {
            "type": "string"
          },
          "processingUnit": {
            "type": "string"
          },
          "billingAddress": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "taxesToBeInvoiced": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "idContact",
          "contactType",
          "entityType",
          "name"
        ],
        "additionalProperties": false
      },
      "NewContact": {
        "title": "NewContact",
        "type": "object",
        "description": "(tsType: Omit<Contact, 'idContact'>, schemaOptions: { title: 'NewContact', exclude: [ 'idContact' ] })",
        "properties": {
          "contactType": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "office": {
            "type": "string"
          },
          "managementBody": {
            "type": "string"
          },
          "processingUnit": {
            "type": "string"
          },
          "billingAddress": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "taxesToBeInvoiced": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "contactType",
          "entityType",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Contact, 'idContact'>"
      },
      "Item": {
        "title": "Item",
        "type": "object",
        "properties": {
          "concept": {
            "type": "string"
          },
          "additionalProductInfo": {
            "type": "string"
          },
          "units": {
            "type": "number"
          },
          "unitPrice": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "equivalenceSurchargeValue": {
            "type": "number"
          },
          "idTaxes": {
            "type": "string"
          },
          "fiskalyCategoryTypeNoVatCause": {
            "type": "string"
          },
          "fiskalyCategoryTypeNonVatCause": {
            "type": "string"
          },
          "fiskalyCategoryTypeInverseVatCause": {
            "type": "string"
          }
        },
        "required": [
          "concept",
          "units",
          "unitPrice",
          "discount",
          "totalAmount",
          "idTaxes"
        ],
        "additionalProperties": false
      },
      "InvoiceRecord": {
        "title": "InvoiceRecord",
        "type": "object",
        "properties": {
          "idInvoiceRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "number"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "isCancelled": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "concept": {
            "type": "string"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal",
              "cancelled",
              "substitution_cancelled",
              "difference_cancelled"
            ]
          },
          "originalInvoiceId": {
            "type": "string"
          },
          "rectificationType": {
            "type": "string",
            "enum": [
              "S",
              "I"
            ]
          },
          "isRectificativa": {
            "type": "boolean"
          },
          "rectificated": {
            "type": "boolean"
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "invoiceSeriesId": {
            "type": "string"
          },
          "fiskalyQrCode": {
            "type": "string"
          },
          "fiskalyJson": {
            "type": "string"
          },
          "fiskalyInvoiceUUID": {
            "type": "string"
          },
          "fiskalySystemType": {
            "type": "string",
            "enum": [
              "REGULAR",
              "OTHER_TAX_IGIC",
              "EQUIVALENCE_SURCHARGE",
              ""
            ]
          },
          "fiskalyCorrectionCode": {
            "type": "string",
            "enum": [
              "CORRECTION_1",
              "CORRECTION_2",
              "CORRECTION_3",
              "CORRECTION_4",
              ""
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false
      },
      "ContactPartial": {
        "title": "ContactPartial",
        "type": "object",
        "description": "(tsType: Partial<Contact>, schemaOptions: { partial: true })",
        "properties": {
          "idContact": {
            "type": "string"
          },
          "contactType": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "office": {
            "type": "string"
          },
          "managementBody": {
            "type": "string"
          },
          "processingUnit": {
            "type": "string"
          },
          "billingAddress": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "taxesToBeInvoiced": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Contact>"
      },
      "Company": {
        "title": "Company",
        "type": "object",
        "properties": {
          "companyId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "fiscalName": {
            "type": "string"
          },
          "nif": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "fiscalAddress": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "streetNumber": {
            "type": "string"
          },
          "floorAndDoorNumber": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "mainColor": {
            "type": "string"
          },
          "idDefaultSerieInvoice": {
            "type": "string"
          },
          "idDefaultSerieProforma": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "useFiskaly": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "fiskalyStep": {
            "type": "string"
          },
          "territory": {
            "type": "string"
          },
          "dateFromKit": {
            "type": "string"
          },
          "dateToKit": {
            "type": "string"
          },
          "dateFromContracted": {
            "type": "string"
          },
          "dateToContracted": {
            "type": "string"
          },
          "creditCardDetails": {
            "type": "string"
          },
          "defaultObservations": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "companyId",
          "name",
          "paymentMethod"
        ],
        "additionalProperties": false
      },
      "CompanyPartial": {
        "title": "CompanyPartial",
        "type": "object",
        "description": "(tsType: Partial<Company>, schemaOptions: { partial: true })",
        "properties": {
          "companyId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "fiscalName": {
            "type": "string"
          },
          "nif": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "fiscalAddress": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "streetNumber": {
            "type": "string"
          },
          "floorAndDoorNumber": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "mainColor": {
            "type": "string"
          },
          "idDefaultSerieInvoice": {
            "type": "string"
          },
          "idDefaultSerieProforma": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "useFiskaly": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "fiskalyStep": {
            "type": "string"
          },
          "territory": {
            "type": "string"
          },
          "dateFromKit": {
            "type": "string"
          },
          "dateToKit": {
            "type": "string"
          },
          "dateFromContracted": {
            "type": "string"
          },
          "dateToContracted": {
            "type": "string"
          },
          "creditCardDetails": {
            "type": "string"
          },
          "defaultObservations": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Company>"
      },
      "NewInvoiceRecord": {
        "title": "NewInvoiceRecord",
        "type": "object",
        "description": "(tsType: Omit<InvoiceRecord, 'idInvoiceRecord'>, schemaOptions: { title: 'NewInvoiceRecord', exclude: [ 'idInvoiceRecord' ] })",
        "properties": {
          "invoiceNumber": {
            "type": "number"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "isCancelled": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "concept": {
            "type": "string"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal",
              "cancelled",
              "substitution_cancelled",
              "difference_cancelled"
            ]
          },
          "originalInvoiceId": {
            "type": "string"
          },
          "rectificationType": {
            "type": "string",
            "enum": [
              "S",
              "I"
            ]
          },
          "isRectificativa": {
            "type": "boolean"
          },
          "rectificated": {
            "type": "boolean"
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "invoiceSeriesId": {
            "type": "string"
          },
          "fiskalyQrCode": {
            "type": "string"
          },
          "fiskalyJson": {
            "type": "string"
          },
          "fiskalyInvoiceUUID": {
            "type": "string"
          },
          "fiskalySystemType": {
            "type": "string",
            "enum": [
              "REGULAR",
              "OTHER_TAX_IGIC",
              "EQUIVALENCE_SURCHARGE",
              ""
            ]
          },
          "fiskalyCorrectionCode": {
            "type": "string",
            "enum": [
              "CORRECTION_1",
              "CORRECTION_2",
              "CORRECTION_3",
              "CORRECTION_4",
              ""
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvoiceRecord, 'idInvoiceRecord'>"
      },
      "InvoiceRecordWithRelations": {
        "title": "InvoiceRecordWithRelations",
        "type": "object",
        "description": "(tsType: InvoiceRecordWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idInvoiceRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "number"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "isCancelled": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "concept": {
            "type": "string"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal",
              "cancelled",
              "substitution_cancelled",
              "difference_cancelled"
            ]
          },
          "originalInvoiceId": {
            "type": "string"
          },
          "rectificationType": {
            "type": "string",
            "enum": [
              "S",
              "I"
            ]
          },
          "isRectificativa": {
            "type": "boolean"
          },
          "rectificated": {
            "type": "boolean"
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "invoiceSeriesId": {
            "type": "string"
          },
          "fiskalyQrCode": {
            "type": "string"
          },
          "fiskalyJson": {
            "type": "string"
          },
          "fiskalyInvoiceUUID": {
            "type": "string"
          },
          "fiskalySystemType": {
            "type": "string",
            "enum": [
              "REGULAR",
              "OTHER_TAX_IGIC",
              "EQUIVALENCE_SURCHARGE",
              ""
            ]
          },
          "fiskalyCorrectionCode": {
            "type": "string",
            "enum": [
              "CORRECTION_1",
              "CORRECTION_2",
              "CORRECTION_3",
              "CORRECTION_4",
              ""
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "originalInvoice": {
            "$ref": "#/components/schemas/InvoiceRecordWithRelations"
          },
          "foreignKey": {},
          "contact": {
            "$ref": "#/components/schemas/ContactWithRelations"
          },
          "company": {
            "$ref": "#/components/schemas/CompanyWithRelations"
          },
          "invoiceSeries": {
            "$ref": "#/components/schemas/InvoiceSeriesWithRelations"
          }
        },
        "required": [
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvoiceRecordWithRelations"
      },
      "InvoiceRecordPartial": {
        "title": "InvoiceRecordPartial",
        "type": "object",
        "description": "(tsType: Partial<InvoiceRecord>, schemaOptions: { partial: true })",
        "properties": {
          "idInvoiceRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "number"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "isCancelled": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "concept": {
            "type": "string"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal",
              "cancelled",
              "substitution_cancelled",
              "difference_cancelled"
            ]
          },
          "originalInvoiceId": {
            "type": "string"
          },
          "rectificationType": {
            "type": "string",
            "enum": [
              "S",
              "I"
            ]
          },
          "isRectificativa": {
            "type": "boolean"
          },
          "rectificated": {
            "type": "boolean"
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "invoiceSeriesId": {
            "type": "string"
          },
          "fiskalyQrCode": {
            "type": "string"
          },
          "fiskalyJson": {
            "type": "string"
          },
          "fiskalyInvoiceUUID": {
            "type": "string"
          },
          "fiskalySystemType": {
            "type": "string",
            "enum": [
              "REGULAR",
              "OTHER_TAX_IGIC",
              "EQUIVALENCE_SURCHARGE",
              ""
            ]
          },
          "fiskalyCorrectionCode": {
            "type": "string",
            "enum": [
              "CORRECTION_1",
              "CORRECTION_2",
              "CORRECTION_3",
              "CORRECTION_4",
              ""
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<InvoiceRecord>"
      },
      "UserCompanyRole": {
        "title": "UserCompanyRole",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false
      },
      "NewUserCompanyRole": {
        "title": "NewUserCompanyRole",
        "type": "object",
        "description": "(tsType: Omit<UserCompanyRole, 'id'>, schemaOptions: { title: 'NewUserCompanyRole', exclude: [ 'id' ] })",
        "properties": {
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<UserCompanyRole, 'id'>"
      },
      "CompanyWithRelations": {
        "title": "CompanyWithRelations",
        "type": "object",
        "description": "(tsType: CompanyWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "companyId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "fiscalName": {
            "type": "string"
          },
          "nif": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "fiscalAddress": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "municipality": {
            "type": "string"
          },
          "streetNumber": {
            "type": "string"
          },
          "floorAndDoorNumber": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "mainColor": {
            "type": "string"
          },
          "idDefaultSerieInvoice": {
            "type": "string"
          },
          "idDefaultSerieProforma": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "useFiskaly": {
            "type": "boolean"
          },
          "email": {
            "type": "string"
          },
          "fiskalyStep": {
            "type": "string"
          },
          "territory": {
            "type": "string"
          },
          "dateFromKit": {
            "type": "string"
          },
          "dateToKit": {
            "type": "string"
          },
          "dateFromContracted": {
            "type": "string"
          },
          "dateToContracted": {
            "type": "string"
          },
          "creditCardDetails": {
            "type": "string"
          },
          "defaultObservations": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactWithRelations"
            }
          }
        },
        "required": [
          "companyId",
          "name",
          "paymentMethod"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CompanyWithRelations"
      },
      "UserCompanyRoleWithRelations": {
        "title": "UserCompanyRoleWithRelations",
        "type": "object",
        "description": "(tsType: UserCompanyRoleWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/UserFeaturesWithRelations"
          },
          "foreignKey": {},
          "company": {
            "$ref": "#/components/schemas/CompanyWithRelations"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserCompanyRoleWithRelations"
      },
      "UserCompanyRolePartial": {
        "title": "UserCompanyRolePartial",
        "type": "object",
        "description": "(tsType: Partial<UserCompanyRole>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<UserCompanyRole>"
      },
      "ExpenseRecord": {
        "title": "ExpenseRecord",
        "type": "object",
        "properties": {
          "idExpenseRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "invoiceSerie": {
            "type": "string"
          },
          "urlToFile": {
            "type": "string"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "filename": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed",
              ""
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal"
            ]
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "expenseTypeId": {
            "type": "string"
          }
        },
        "required": [
          "idExpenseRecord",
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false
      },
      "NewExpenseRecord": {
        "title": "NewExpenseRecord",
        "type": "object",
        "description": "(tsType: Omit<ExpenseRecord, 'idExpenseRecord' | 'remainingAmount'>, schemaOptions: { title: 'NewExpenseRecord', exclude: [ 'idExpenseRecord', 'remainingAmount' ] })",
        "properties": {
          "invoiceNumber": {
            "type": "string"
          },
          "invoiceSerie": {
            "type": "string"
          },
          "urlToFile": {
            "type": "string"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "filename": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed",
              ""
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal"
            ]
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "expenseTypeId": {
            "type": "string"
          }
        },
        "required": [
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ExpenseRecord, 'idExpenseRecord' | 'remainingAmount'>"
      },
      "ExpenseRecordWithRelations": {
        "title": "ExpenseRecordWithRelations",
        "type": "object",
        "description": "(tsType: ExpenseRecordWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idExpenseRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "invoiceSerie": {
            "type": "string"
          },
          "urlToFile": {
            "type": "string"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "filename": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed",
              ""
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal"
            ]
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "expenseTypeId": {
            "type": "string"
          },
          "contact": {
            "$ref": "#/components/schemas/ContactWithRelations"
          },
          "foreignKey": {},
          "company": {
            "$ref": "#/components/schemas/CompanyWithRelations"
          },
          "expenseType": {
            "$ref": "#/components/schemas/ExpenseTypeWithRelations"
          }
        },
        "required": [
          "idExpenseRecord",
          "invoiceNumber",
          "items"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ExpenseRecordWithRelations"
      },
      "ExpenseRecordPartial": {
        "title": "ExpenseRecordPartial",
        "type": "object",
        "description": "(tsType: Partial<ExpenseRecord>, schemaOptions: { partial: true })",
        "properties": {
          "idExpenseRecord": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "invoiceSerie": {
            "type": "string"
          },
          "urlToFile": {
            "type": "string"
          },
          "serieAndNumber": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "reference": {
            "type": "string"
          },
          "operationDate": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "billingPeriod": {
            "type": "object"
          },
          "expeditionDate": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "observations": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number"
          },
          "remainingAmount": {
            "type": "number"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "paymentDetails": {
            "type": "object"
          },
          "filename": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "noDraft"
            ]
          },
          "treasuryStatus": {
            "type": "string",
            "enum": [
              "pending",
              "partial",
              "completed",
              ""
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice",
              "simplified",
              "proforma",
              "propousal"
            ]
          },
          "idContact": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "expenseTypeId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ExpenseRecord>"
      },
      "TaxRate": {
        "title": "TaxRate",
        "type": "object",
        "properties": {
          "idTaxRate": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "equivalenceSurchargeValue": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "requiresTaxableExempt": {
            "type": "boolean"
          },
          "requiresNonTaxable": {
            "type": "boolean"
          },
          "requiresInverseVat": {
            "type": "boolean"
          },
          "presentationText": {
            "type": "string"
          }
        },
        "required": [
          "idTaxRate",
          "label",
          "value",
          "equivalenceSurchargeValue",
          "sortOrder",
          "isEnabled",
          "requiresTaxableExempt",
          "requiresNonTaxable",
          "requiresInverseVat",
          "presentationText"
        ],
        "additionalProperties": false
      },
      "NewTaxRate": {
        "title": "NewTaxRate",
        "type": "object",
        "description": "(tsType: Omit<TaxRate, 'idTaxRate'>, schemaOptions: { title: 'NewTaxRate', exclude: [ 'idTaxRate' ] })",
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "equivalenceSurchargeValue": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "requiresTaxableExempt": {
            "type": "boolean"
          },
          "requiresNonTaxable": {
            "type": "boolean"
          },
          "requiresInverseVat": {
            "type": "boolean"
          },
          "presentationText": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "value",
          "equivalenceSurchargeValue",
          "sortOrder",
          "isEnabled",
          "requiresTaxableExempt",
          "requiresNonTaxable",
          "requiresInverseVat",
          "presentationText"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<TaxRate, 'idTaxRate'>"
      },
      "TaxRateWithRelations": {
        "title": "TaxRateWithRelations",
        "type": "object",
        "description": "(tsType: TaxRateWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idTaxRate": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "equivalenceSurchargeValue": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "requiresTaxableExempt": {
            "type": "boolean"
          },
          "requiresNonTaxable": {
            "type": "boolean"
          },
          "requiresInverseVat": {
            "type": "boolean"
          },
          "presentationText": {
            "type": "string"
          }
        },
        "required": [
          "idTaxRate",
          "label",
          "value",
          "equivalenceSurchargeValue",
          "sortOrder",
          "isEnabled",
          "requiresTaxableExempt",
          "requiresNonTaxable",
          "requiresInverseVat",
          "presentationText"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TaxRateWithRelations"
      },
      "Charge": {
        "title": "Charge",
        "type": "object",
        "properties": {
          "idCharge": {
            "type": "string"
          },
          "idInvoiceRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "idCharge",
          "date",
          "amount"
        ],
        "additionalProperties": false
      },
      "NewCharge": {
        "title": "NewCharge",
        "type": "object",
        "description": "(tsType: Omit<Charge, 'idCharge'>, schemaOptions: { title: 'NewCharge', exclude: [ 'idCharge' ] })",
        "properties": {
          "idInvoiceRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Charge, 'idCharge'>"
      },
      "ExpenseTypeWithRelations": {
        "title": "ExpenseTypeWithRelations",
        "type": "object",
        "description": "(tsType: ExpenseTypeWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idExpenseType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "company": {
            "$ref": "#/components/schemas/CompanyWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "idExpenseType",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ExpenseTypeWithRelations"
      },
      "ContactWithRelations": {
        "title": "ContactWithRelations",
        "type": "object",
        "description": "(tsType: ContactWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idContact": {
            "type": "string"
          },
          "contactType": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "telephone": {
            "type": "string"
          },
          "office": {
            "type": "string"
          },
          "managementBody": {
            "type": "string"
          },
          "processingUnit": {
            "type": "string"
          },
          "billingAddress": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "taxesToBeInvoiced": {
            "type": "string"
          },
          "urlImage": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "includeWithholding": {
            "type": "boolean"
          },
          "withholdingPercentage": {
            "type": "number"
          },
          "equivalenceSurcharge": {
            "type": "boolean"
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "Transferencia",
              "Domiciliación",
              "Efectivo",
              "Contrareembolso",
              "Bizum",
              "Otro",
              "Pagare",
              "Tarjeta Bancaria"
            ]
          },
          "accountNumber": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "iban": {
            "type": "string"
          },
          "bizumTelephone": {
            "type": "string"
          },
          "otherPaymentDetails": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "company": {
            "$ref": "#/components/schemas/CompanyWithRelations"
          },
          "foreignKey": {},
          "invoiceRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceRecordWithRelations"
            }
          },
          "expenseRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExpenseRecordWithRelations"
            }
          }
        },
        "required": [
          "idContact",
          "contactType",
          "entityType",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ContactWithRelations"
      },
      "InvoiceSeriesWithRelations": {
        "title": "InvoiceSeriesWithRelations",
        "type": "object",
        "description": "(tsType: InvoiceSeriesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idInvoiceSeries": {
            "type": "string"
          },
          "invoiceSeries": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "idInvoiceSeries",
          "invoiceSeries",
          "companyId",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvoiceSeriesWithRelations"
      },
      "ChargeWithRelations": {
        "title": "ChargeWithRelations",
        "type": "object",
        "description": "(tsType: ChargeWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idCharge": {
            "type": "string"
          },
          "idInvoiceRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "invoiceRecord": {
            "$ref": "#/components/schemas/InvoiceRecordWithRelations"
          },
          "foreignKey": {},
          "contact": {
            "$ref": "#/components/schemas/ContactWithRelations"
          }
        },
        "required": [
          "idCharge",
          "date",
          "amount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ChargeWithRelations"
      },
      "ChargePartial": {
        "title": "ChargePartial",
        "type": "object",
        "description": "(tsType: Partial<Charge>, schemaOptions: { partial: true })",
        "properties": {
          "idCharge": {
            "type": "string"
          },
          "idInvoiceRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Charge>"
      },
      "Payment": {
        "title": "Payment",
        "type": "object",
        "properties": {
          "idPayment": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "idExpenseRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          }
        },
        "required": [
          "idPayment",
          "date",
          "amount"
        ],
        "additionalProperties": false
      },
      "NewPayment": {
        "title": "NewPayment",
        "type": "object",
        "description": "(tsType: Omit<Payment, 'idPayment'>, schemaOptions: { title: 'NewPayment', exclude: [ 'idPayment' ] })",
        "properties": {
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "idExpenseRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          }
        },
        "required": [
          "date",
          "amount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Payment, 'idPayment'>"
      },
      "PaymentWithRelations": {
        "title": "PaymentWithRelations",
        "type": "object",
        "description": "(tsType: PaymentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idPayment": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "idExpenseRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          },
          "expenseRecord": {
            "$ref": "#/components/schemas/ExpenseRecordWithRelations"
          },
          "foreignKey": {},
          "contact": {
            "$ref": "#/components/schemas/ContactWithRelations"
          }
        },
        "required": [
          "idPayment",
          "date",
          "amount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentWithRelations"
      },
      "PaymentPartial": {
        "title": "PaymentPartial",
        "type": "object",
        "description": "(tsType: Partial<Payment>, schemaOptions: { partial: true })",
        "properties": {
          "idPayment": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "idExpenseRecord": {
            "type": "string"
          },
          "idContact": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Payment>"
      },
      "InvoiceProduct": {
        "title": "InvoiceProduct",
        "type": "object",
        "properties": {
          "idInvoiceProduct": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "buyPrice": {
            "type": "number"
          },
          "sellPrice": {
            "type": "number"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "idInvoiceProduct",
          "name",
          "idTaxRate",
          "buyPrice",
          "sellPrice",
          "companyId"
        ],
        "additionalProperties": false
      },
      "NewInvoiceProduct": {
        "title": "NewInvoiceProduct",
        "type": "object",
        "description": "(tsType: Omit<InvoiceProduct, 'idInvoiceProduct' | 'sellPrice'>, schemaOptions: { title: 'NewInvoiceProduct', exclude: [ 'idInvoiceProduct', 'sellPrice' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "buyPrice": {
            "type": "number"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "idTaxRate",
          "buyPrice",
          "companyId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvoiceProduct, 'idInvoiceProduct' | 'sellPrice'>"
      },
      "InvoiceProductWithRelations": {
        "title": "InvoiceProductWithRelations",
        "type": "object",
        "description": "(tsType: InvoiceProductWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idInvoiceProduct": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "buyPrice": {
            "type": "number"
          },
          "sellPrice": {
            "type": "number"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "idInvoiceProduct",
          "name",
          "idTaxRate",
          "buyPrice",
          "sellPrice",
          "companyId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvoiceProductWithRelations"
      },
      "InvoiceProductPartial": {
        "title": "InvoiceProductPartial",
        "type": "object",
        "description": "(tsType: Partial<InvoiceProduct>, schemaOptions: { partial: true })",
        "properties": {
          "idInvoiceProduct": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "idTaxRate": {
            "type": "string"
          },
          "buyPrice": {
            "type": "number"
          },
          "sellPrice": {
            "type": "number"
          },
          "companyId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<InvoiceProduct>"
      },
      "InvoiceSeries": {
        "title": "InvoiceSeries",
        "type": "object",
        "properties": {
          "idInvoiceSeries": {
            "type": "string"
          },
          "invoiceSeries": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "idInvoiceSeries",
          "invoiceSeries",
          "companyId",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false
      },
      "NewInvoiceSeries": {
        "title": "NewInvoiceSeries",
        "type": "object",
        "description": "(tsType: Omit<InvoiceSeries, 'idInvoiceSeries' | 'companyId'>, schemaOptions: { title: 'NewInvoiceSeries', exclude: [ 'idInvoiceSeries', 'companyId' ] })",
        "properties": {
          "invoiceSeries": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "invoiceSeries",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvoiceSeries, 'idInvoiceSeries' | 'companyId'>"
      },
      "AdministrativeCompany": {
        "title": "AdministrativeCompany",
        "type": "object",
        "properties": {
          "idAdministrativeCompany": {
            "type": "string"
          },
          "idUser": {
            "type": "string"
          },
          "idCompany": {
            "type": "string"
          }
        },
        "required": [
          "idAdministrativeCompany"
        ],
        "additionalProperties": false
      },
      "NewAdministrativeCompany": {
        "title": "NewAdministrativeCompany",
        "type": "object",
        "description": "(tsType: Omit<AdministrativeCompany, 'idAdministrativeCompany'>, schemaOptions: { title: 'NewAdministrativeCompany', exclude: [ 'idAdministrativeCompany' ] })",
        "properties": {
          "idUser": {
            "type": "string"
          },
          "idCompany": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<AdministrativeCompany, 'idAdministrativeCompany'>"
      },
      "AdministrativeCompanyWithRelations": {
        "title": "AdministrativeCompanyWithRelations",
        "type": "object",
        "description": "(tsType: AdministrativeCompanyWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idAdministrativeCompany": {
            "type": "string"
          },
          "idUser": {
            "type": "string"
          },
          "idCompany": {
            "type": "string"
          }
        },
        "required": [
          "idAdministrativeCompany"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AdministrativeCompanyWithRelations"
      },
      "AdministrativeCompanyPartial": {
        "title": "AdministrativeCompanyPartial",
        "type": "object",
        "description": "(tsType: Partial<AdministrativeCompany>, schemaOptions: { partial: true })",
        "properties": {
          "idAdministrativeCompany": {
            "type": "string"
          },
          "idUser": {
            "type": "string"
          },
          "idCompany": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<AdministrativeCompany>"
      },
      "PropousalSeries": {
        "title": "PropousalSeries",
        "type": "object",
        "properties": {
          "idPropousalSeries": {
            "type": "string"
          },
          "invoiceSeries": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "idPropousalSeries",
          "invoiceSeries",
          "companyId",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false
      },
      "NewPropousalSeries": {
        "title": "NewPropousalSeries",
        "type": "object",
        "description": "(tsType: Omit<PropousalSeries, 'idPropousalSeries' | 'companyId'>, schemaOptions: { title: 'NewPropousalSeries', exclude: [ 'idPropousalSeries', 'companyId' ] })",
        "properties": {
          "invoiceSeries": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "invoiceSeries",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PropousalSeries, 'idPropousalSeries' | 'companyId'>"
      },
      "PropousalSeriesWithRelations": {
        "title": "PropousalSeriesWithRelations",
        "type": "object",
        "description": "(tsType: PropousalSeriesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idPropousalSeries": {
            "type": "string"
          },
          "invoiceSeries": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "required": [
          "idPropousalSeries",
          "invoiceSeries",
          "companyId",
          "lastInvoiceNumber"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PropousalSeriesWithRelations"
      },
      "PropousalSeriesPartial": {
        "title": "PropousalSeriesPartial",
        "type": "object",
        "description": "(tsType: Partial<PropousalSeries>, schemaOptions: { partial: true })",
        "properties": {
          "idPropousalSeries": {
            "type": "string"
          },
          "invoiceSeries": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "lastInvoiceNumber": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PropousalSeries>"
      },
      "ExpenseType": {
        "title": "ExpenseType",
        "type": "object",
        "properties": {
          "idExpenseType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "idExpenseType",
          "name"
        ],
        "additionalProperties": false
      },
      "NewExpenseType": {
        "title": "NewExpenseType",
        "type": "object",
        "description": "(tsType: Omit<ExpenseType, 'idExpenseType'>, schemaOptions: { title: 'NewExpenseType', exclude: [ 'idExpenseType' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ExpenseType, 'idExpenseType'>"
      },
      "ExpenseTypePartial": {
        "title": "ExpenseTypePartial",
        "type": "object",
        "description": "(tsType: Partial<ExpenseType>, schemaOptions: { partial: true })",
        "properties": {
          "idExpenseType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ExpenseType>"
      },
      "Tutorial": {
        "title": "Tutorial",
        "type": "object",
        "properties": {
          "idTutorial": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "videoUrl": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "idTutorial",
          "title"
        ],
        "additionalProperties": false
      },
      "NewTutorial": {
        "title": "NewTutorial",
        "type": "object",
        "description": "(tsType: Omit<Tutorial, 'idTutorial'>, schemaOptions: { title: 'NewTutorial', exclude: [ 'idTutorial' ] })",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "videoUrl": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "title"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Tutorial, 'idTutorial'>"
      },
      "TutorialWithRelations": {
        "title": "TutorialWithRelations",
        "type": "object",
        "description": "(tsType: TutorialWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idTutorial": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "videoUrl": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "idTutorial",
          "title"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TutorialWithRelations"
      },
      "TutorialPartial": {
        "title": "TutorialPartial",
        "type": "object",
        "description": "(tsType: Partial<Tutorial>, schemaOptions: { partial: true })",
        "properties": {
          "idTutorial": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "videoUrl": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Tutorial>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "AdministrativeCompany.Filter": {
        "type": "object",
        "title": "AdministrativeCompany.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idAdministrativeCompany": {
                    "type": "boolean"
                  },
                  "idUser": {
                    "type": "boolean"
                  },
                  "idCompany": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idAdministrativeCompany",
                    "idUser",
                    "idCompany"
                  ],
                  "example": "idAdministrativeCompany"
                },
                "uniqueItems": true
              }
            ],
            "title": "AdministrativeCompany.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AdministrativeCompany>"
      },
      "AdministrativeCompany.Filter1": {
        "type": "object",
        "title": "AdministrativeCompany.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "AdministrativeCompany.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idAdministrativeCompany": {
                    "type": "boolean"
                  },
                  "idUser": {
                    "type": "boolean"
                  },
                  "idCompany": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idAdministrativeCompany",
                    "idUser",
                    "idCompany"
                  ],
                  "example": "idAdministrativeCompany"
                },
                "uniqueItems": true
              }
            ],
            "title": "AdministrativeCompany.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AdministrativeCompany>"
      },
      "Charge.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Charge.ScopeFilter"
      },
      "Charge.IncludeFilter.Items": {
        "title": "Charge.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "invoiceRecord",
              "contact"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Charge.ScopeFilter"
          }
        }
      },
      "Charge.Filter": {
        "type": "object",
        "title": "Charge.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idCharge": {
                    "type": "boolean"
                  },
                  "idInvoiceRecord": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  },
                  "date": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idCharge",
                    "idInvoiceRecord",
                    "idContact",
                    "date",
                    "description",
                    "amount"
                  ],
                  "example": "idCharge"
                },
                "uniqueItems": true
              }
            ],
            "title": "Charge.Fields"
          },
          "include": {
            "title": "Charge.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Charge.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Charge>"
      },
      "LoginLogsWithRelations": {
        "title": "LoginLogsWithRelations",
        "type": "object",
        "description": "(tsType: LoginLogsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "idLoginLogs": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "loginDate": {
            "type": "string",
            "format": "date-time"
          },
          "companyId": {
            "type": "string"
          }
        },
        "required": [
          "idLoginLogs"
        ],
        "additionalProperties": false,
        "x-typescript-type": "LoginLogsWithRelations"
      },
      "ExpenseRecord.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ExpenseRecord.ScopeFilter"
      },
      "ExpenseRecord.IncludeFilter.Items": {
        "title": "ExpenseRecord.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "contact",
              "company",
              "expenseType"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ExpenseRecord.ScopeFilter"
          }
        }
      },
      "ExpenseRecord.Filter": {
        "type": "object",
        "title": "ExpenseRecord.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idExpenseRecord": {
                    "type": "boolean"
                  },
                  "invoiceNumber": {
                    "type": "boolean"
                  },
                  "invoiceSerie": {
                    "type": "boolean"
                  },
                  "urlToFile": {
                    "type": "boolean"
                  },
                  "serieAndNumber": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "operationDate": {
                    "type": "boolean"
                  },
                  "dueDate": {
                    "type": "boolean"
                  },
                  "billingPeriod": {
                    "type": "boolean"
                  },
                  "expeditionDate": {
                    "type": "boolean"
                  },
                  "items": {
                    "type": "boolean"
                  },
                  "includeWithholding": {
                    "type": "boolean"
                  },
                  "withholdingPercentage": {
                    "type": "boolean"
                  },
                  "equivalenceSurcharge": {
                    "type": "boolean"
                  },
                  "observations": {
                    "type": "boolean"
                  },
                  "totalAmount": {
                    "type": "boolean"
                  },
                  "remainingAmount": {
                    "type": "boolean"
                  },
                  "paymentMethod": {
                    "type": "boolean"
                  },
                  "paymentDetails": {
                    "type": "boolean"
                  },
                  "filename": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "treasuryStatus": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "expenseTypeId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idExpenseRecord",
                    "invoiceNumber",
                    "invoiceSerie",
                    "urlToFile",
                    "serieAndNumber",
                    "active",
                    "reference",
                    "operationDate",
                    "dueDate",
                    "billingPeriod",
                    "expeditionDate",
                    "items",
                    "includeWithholding",
                    "withholdingPercentage",
                    "equivalenceSurcharge",
                    "observations",
                    "totalAmount",
                    "remainingAmount",
                    "paymentMethod",
                    "paymentDetails",
                    "filename",
                    "status",
                    "treasuryStatus",
                    "type",
                    "idContact",
                    "companyId",
                    "expenseTypeId"
                  ],
                  "example": "idExpenseRecord"
                },
                "uniqueItems": true
              }
            ],
            "title": "ExpenseRecord.Fields"
          },
          "include": {
            "title": "ExpenseRecord.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ExpenseRecord.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ExpenseRecord>"
      },
      "ExpenseRecord.Filter1": {
        "type": "object",
        "title": "ExpenseRecord.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "ExpenseRecord.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idExpenseRecord": {
                    "type": "boolean"
                  },
                  "invoiceNumber": {
                    "type": "boolean"
                  },
                  "invoiceSerie": {
                    "type": "boolean"
                  },
                  "urlToFile": {
                    "type": "boolean"
                  },
                  "serieAndNumber": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "operationDate": {
                    "type": "boolean"
                  },
                  "dueDate": {
                    "type": "boolean"
                  },
                  "billingPeriod": {
                    "type": "boolean"
                  },
                  "expeditionDate": {
                    "type": "boolean"
                  },
                  "items": {
                    "type": "boolean"
                  },
                  "includeWithholding": {
                    "type": "boolean"
                  },
                  "withholdingPercentage": {
                    "type": "boolean"
                  },
                  "equivalenceSurcharge": {
                    "type": "boolean"
                  },
                  "observations": {
                    "type": "boolean"
                  },
                  "totalAmount": {
                    "type": "boolean"
                  },
                  "remainingAmount": {
                    "type": "boolean"
                  },
                  "paymentMethod": {
                    "type": "boolean"
                  },
                  "paymentDetails": {
                    "type": "boolean"
                  },
                  "filename": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "treasuryStatus": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "expenseTypeId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idExpenseRecord",
                    "invoiceNumber",
                    "invoiceSerie",
                    "urlToFile",
                    "serieAndNumber",
                    "active",
                    "reference",
                    "operationDate",
                    "dueDate",
                    "billingPeriod",
                    "expeditionDate",
                    "items",
                    "includeWithholding",
                    "withholdingPercentage",
                    "equivalenceSurcharge",
                    "observations",
                    "totalAmount",
                    "remainingAmount",
                    "paymentMethod",
                    "paymentDetails",
                    "filename",
                    "status",
                    "treasuryStatus",
                    "type",
                    "idContact",
                    "companyId",
                    "expenseTypeId"
                  ],
                  "example": "idExpenseRecord"
                },
                "uniqueItems": true
              }
            ],
            "title": "ExpenseRecord.Fields"
          },
          "include": {
            "title": "ExpenseRecord.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ExpenseRecord.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ExpenseRecord>"
      },
      "ExpenseType.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ExpenseType.ScopeFilter"
      },
      "ExpenseType.IncludeFilter.Items": {
        "title": "ExpenseType.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "company"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ExpenseType.ScopeFilter"
          }
        }
      },
      "ExpenseType.Filter": {
        "type": "object",
        "title": "ExpenseType.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idExpenseType": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idExpenseType",
                    "name",
                    "companyId"
                  ],
                  "example": "idExpenseType"
                },
                "uniqueItems": true
              }
            ],
            "title": "ExpenseType.Fields"
          },
          "include": {
            "title": "ExpenseType.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ExpenseType.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ExpenseType>"
      },
      "ExpenseType.Filter1": {
        "type": "object",
        "title": "ExpenseType.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "ExpenseType.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idExpenseType": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idExpenseType",
                    "name",
                    "companyId"
                  ],
                  "example": "idExpenseType"
                },
                "uniqueItems": true
              }
            ],
            "title": "ExpenseType.Fields"
          },
          "include": {
            "title": "ExpenseType.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ExpenseType.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ExpenseType>"
      },
      "InvoiceProduct.Filter": {
        "type": "object",
        "title": "InvoiceProduct.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "InvoiceProduct.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceProduct": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "additionalInfo": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "idTaxRate": {
                    "type": "boolean"
                  },
                  "buyPrice": {
                    "type": "boolean"
                  },
                  "sellPrice": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceProduct",
                    "name",
                    "additionalInfo",
                    "reference",
                    "idTaxRate",
                    "buyPrice",
                    "sellPrice",
                    "companyId"
                  ],
                  "example": "idInvoiceProduct"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceProduct.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceProduct>"
      },
      "InvoiceProduct.Filter1": {
        "type": "object",
        "title": "InvoiceProduct.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceProduct": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "additionalInfo": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "idTaxRate": {
                    "type": "boolean"
                  },
                  "buyPrice": {
                    "type": "boolean"
                  },
                  "sellPrice": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceProduct",
                    "name",
                    "additionalInfo",
                    "reference",
                    "idTaxRate",
                    "buyPrice",
                    "sellPrice",
                    "companyId"
                  ],
                  "example": "idInvoiceProduct"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceProduct.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceProduct>"
      },
      "InvoiceRecord.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "InvoiceRecord.ScopeFilter"
      },
      "InvoiceRecord.IncludeFilter.Items": {
        "title": "InvoiceRecord.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "originalInvoice",
              "contact",
              "company",
              "invoiceSeries"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/InvoiceRecord.ScopeFilter"
          }
        }
      },
      "InvoiceRecord.Filter": {
        "type": "object",
        "title": "InvoiceRecord.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceRecord": {
                    "type": "boolean"
                  },
                  "invoiceNumber": {
                    "type": "boolean"
                  },
                  "serieAndNumber": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "isCancelled": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "operationDate": {
                    "type": "boolean"
                  },
                  "dueDate": {
                    "type": "boolean"
                  },
                  "billingPeriod": {
                    "type": "boolean"
                  },
                  "expeditionDate": {
                    "type": "boolean"
                  },
                  "items": {
                    "type": "boolean"
                  },
                  "includeWithholding": {
                    "type": "boolean"
                  },
                  "withholdingPercentage": {
                    "type": "boolean"
                  },
                  "equivalenceSurcharge": {
                    "type": "boolean"
                  },
                  "concept": {
                    "type": "boolean"
                  },
                  "observations": {
                    "type": "boolean"
                  },
                  "totalAmount": {
                    "type": "boolean"
                  },
                  "remainingAmount": {
                    "type": "boolean"
                  },
                  "paymentMethod": {
                    "type": "boolean"
                  },
                  "paymentDetails": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "treasuryStatus": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "originalInvoiceId": {
                    "type": "boolean"
                  },
                  "rectificationType": {
                    "type": "boolean"
                  },
                  "isRectificativa": {
                    "type": "boolean"
                  },
                  "rectificated": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "invoiceSeriesId": {
                    "type": "boolean"
                  },
                  "fiskalyQrCode": {
                    "type": "boolean"
                  },
                  "fiskalyJson": {
                    "type": "boolean"
                  },
                  "fiskalyInvoiceUUID": {
                    "type": "boolean"
                  },
                  "fiskalySystemType": {
                    "type": "boolean"
                  },
                  "fiskalyCorrectionCode": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceRecord",
                    "invoiceNumber",
                    "serieAndNumber",
                    "active",
                    "isCancelled",
                    "reference",
                    "operationDate",
                    "dueDate",
                    "billingPeriod",
                    "expeditionDate",
                    "items",
                    "includeWithholding",
                    "withholdingPercentage",
                    "equivalenceSurcharge",
                    "concept",
                    "observations",
                    "totalAmount",
                    "remainingAmount",
                    "paymentMethod",
                    "paymentDetails",
                    "status",
                    "treasuryStatus",
                    "type",
                    "originalInvoiceId",
                    "rectificationType",
                    "isRectificativa",
                    "rectificated",
                    "idContact",
                    "companyId",
                    "invoiceSeriesId",
                    "fiskalyQrCode",
                    "fiskalyJson",
                    "fiskalyInvoiceUUID",
                    "fiskalySystemType",
                    "fiskalyCorrectionCode",
                    "createdAt"
                  ],
                  "example": "idInvoiceRecord"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceRecord.Fields"
          },
          "include": {
            "title": "InvoiceRecord.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/InvoiceRecord.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceRecord>"
      },
      "InvoiceRecord.Filter1": {
        "type": "object",
        "title": "InvoiceRecord.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "InvoiceRecord.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceRecord": {
                    "type": "boolean"
                  },
                  "invoiceNumber": {
                    "type": "boolean"
                  },
                  "serieAndNumber": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "isCancelled": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "operationDate": {
                    "type": "boolean"
                  },
                  "dueDate": {
                    "type": "boolean"
                  },
                  "billingPeriod": {
                    "type": "boolean"
                  },
                  "expeditionDate": {
                    "type": "boolean"
                  },
                  "items": {
                    "type": "boolean"
                  },
                  "includeWithholding": {
                    "type": "boolean"
                  },
                  "withholdingPercentage": {
                    "type": "boolean"
                  },
                  "equivalenceSurcharge": {
                    "type": "boolean"
                  },
                  "concept": {
                    "type": "boolean"
                  },
                  "observations": {
                    "type": "boolean"
                  },
                  "totalAmount": {
                    "type": "boolean"
                  },
                  "remainingAmount": {
                    "type": "boolean"
                  },
                  "paymentMethod": {
                    "type": "boolean"
                  },
                  "paymentDetails": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "treasuryStatus": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "originalInvoiceId": {
                    "type": "boolean"
                  },
                  "rectificationType": {
                    "type": "boolean"
                  },
                  "isRectificativa": {
                    "type": "boolean"
                  },
                  "rectificated": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "invoiceSeriesId": {
                    "type": "boolean"
                  },
                  "fiskalyQrCode": {
                    "type": "boolean"
                  },
                  "fiskalyJson": {
                    "type": "boolean"
                  },
                  "fiskalyInvoiceUUID": {
                    "type": "boolean"
                  },
                  "fiskalySystemType": {
                    "type": "boolean"
                  },
                  "fiskalyCorrectionCode": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceRecord",
                    "invoiceNumber",
                    "serieAndNumber",
                    "active",
                    "isCancelled",
                    "reference",
                    "operationDate",
                    "dueDate",
                    "billingPeriod",
                    "expeditionDate",
                    "items",
                    "includeWithholding",
                    "withholdingPercentage",
                    "equivalenceSurcharge",
                    "concept",
                    "observations",
                    "totalAmount",
                    "remainingAmount",
                    "paymentMethod",
                    "paymentDetails",
                    "status",
                    "treasuryStatus",
                    "type",
                    "originalInvoiceId",
                    "rectificationType",
                    "isRectificativa",
                    "rectificated",
                    "idContact",
                    "companyId",
                    "invoiceSeriesId",
                    "fiskalyQrCode",
                    "fiskalyJson",
                    "fiskalyInvoiceUUID",
                    "fiskalySystemType",
                    "fiskalyCorrectionCode",
                    "createdAt"
                  ],
                  "example": "idInvoiceRecord"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceRecord.Fields"
          },
          "include": {
            "title": "InvoiceRecord.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/InvoiceRecord.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceRecord>"
      },
      "InvoiceSeries.Filter": {
        "type": "object",
        "title": "InvoiceSeries.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "InvoiceSeries.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceSeries": {
                    "type": "boolean"
                  },
                  "invoiceSeries": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "lastInvoiceNumber": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceSeries",
                    "invoiceSeries",
                    "companyId",
                    "lastInvoiceNumber"
                  ],
                  "example": "idInvoiceSeries"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceSeries.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceSeries>"
      },
      "InvoiceSeries.Filter1": {
        "type": "object",
        "title": "InvoiceSeries.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idInvoiceSeries": {
                    "type": "boolean"
                  },
                  "invoiceSeries": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "lastInvoiceNumber": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idInvoiceSeries",
                    "invoiceSeries",
                    "companyId",
                    "lastInvoiceNumber"
                  ],
                  "example": "idInvoiceSeries"
                },
                "uniqueItems": true
              }
            ],
            "title": "InvoiceSeries.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<InvoiceSeries>"
      },
      "Payment.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Payment.ScopeFilter"
      },
      "Payment.IncludeFilter.Items": {
        "title": "Payment.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "expenseRecord",
              "contact"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Payment.ScopeFilter"
          }
        }
      },
      "Payment.Filter": {
        "type": "object",
        "title": "Payment.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idPayment": {
                    "type": "boolean"
                  },
                  "date": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "idExpenseRecord": {
                    "type": "boolean"
                  },
                  "idContact": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idPayment",
                    "date",
                    "description",
                    "amount",
                    "idExpenseRecord",
                    "idContact"
                  ],
                  "example": "idPayment"
                },
                "uniqueItems": true
              }
            ],
            "title": "Payment.Fields"
          },
          "include": {
            "title": "Payment.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Payment.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Payment>"
      },
      "PropousalSeries.Filter": {
        "type": "object",
        "title": "PropousalSeries.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "PropousalSeries.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idPropousalSeries": {
                    "type": "boolean"
                  },
                  "invoiceSeries": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "lastInvoiceNumber": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idPropousalSeries",
                    "invoiceSeries",
                    "companyId",
                    "lastInvoiceNumber"
                  ],
                  "example": "idPropousalSeries"
                },
                "uniqueItems": true
              }
            ],
            "title": "PropousalSeries.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PropousalSeries>"
      },
      "PropousalSeries.Filter1": {
        "type": "object",
        "title": "PropousalSeries.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idPropousalSeries": {
                    "type": "boolean"
                  },
                  "invoiceSeries": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  },
                  "lastInvoiceNumber": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idPropousalSeries",
                    "invoiceSeries",
                    "companyId",
                    "lastInvoiceNumber"
                  ],
                  "example": "idPropousalSeries"
                },
                "uniqueItems": true
              }
            ],
            "title": "PropousalSeries.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PropousalSeries>"
      },
      "Tutorial.Filter": {
        "type": "object",
        "title": "Tutorial.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idTutorial": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "videoUrl": {
                    "type": "boolean"
                  },
                  "imageUrl": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "thumbnailUrl": {
                    "type": "boolean"
                  },
                  "category": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idTutorial",
                    "title",
                    "description",
                    "videoUrl",
                    "imageUrl",
                    "content",
                    "thumbnailUrl",
                    "category",
                    "order",
                    "active",
                    "createdAt"
                  ],
                  "example": "idTutorial"
                },
                "uniqueItems": true
              }
            ],
            "title": "Tutorial.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Tutorial>"
      },
      "Tutorial.Filter1": {
        "type": "object",
        "title": "Tutorial.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Tutorial.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idTutorial": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "videoUrl": {
                    "type": "boolean"
                  },
                  "imageUrl": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "thumbnailUrl": {
                    "type": "boolean"
                  },
                  "category": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idTutorial",
                    "title",
                    "description",
                    "videoUrl",
                    "imageUrl",
                    "content",
                    "thumbnailUrl",
                    "category",
                    "order",
                    "active",
                    "createdAt"
                  ],
                  "example": "idTutorial"
                },
                "uniqueItems": true
              }
            ],
            "title": "Tutorial.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Tutorial>"
      },
      "UserFeatures.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "UserFeatures.ScopeFilter"
      },
      "UserFeatures.IncludeFilter.Items": {
        "title": "UserFeatures.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "userSettings",
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/UserFeatures.ScopeFilter"
          }
        }
      },
      "UserFeatures.Filter": {
        "type": "object",
        "title": "UserFeatures.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "UserFeatures.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "idUser": {
                    "type": "boolean"
                  },
                  "imgUser": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "nickname": {
                    "type": "boolean"
                  },
                  "telephone": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "idUser",
                    "imgUser",
                    "name",
                    "nickname",
                    "telephone"
                  ],
                  "example": "idUser"
                },
                "uniqueItems": true
              }
            ],
            "title": "UserFeatures.Fields"
          },
          "include": {
            "title": "UserFeatures.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/UserFeatures.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<UserFeatures>"
      },
      "UserCompanyRole.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "UserCompanyRole.ScopeFilter"
      },
      "UserCompanyRole.IncludeFilter.Items": {
        "title": "UserCompanyRole.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user",
              "company"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/UserCompanyRole.ScopeFilter"
          }
        }
      },
      "UserCompanyRole.Filter": {
        "type": "object",
        "title": "UserCompanyRole.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "UserCompanyRole.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "role": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "companyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "role",
                    "userId",
                    "companyId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "UserCompanyRole.Fields"
          },
          "include": {
            "title": "UserCompanyRole.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/UserCompanyRole.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<UserCompanyRole>"
      }
    },
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "jwt": []
    }
  ]
}