{
  "openapi": "3.0.0",
  "info": {
    "title": "Alia Middleware API",
    "version": "1.0.0",
    "description": "ALIA LoopBack4/Odoo Middleware",
    "contact": {
      "name": "Juan Costa",
      "email": "juancosta@alialabs.com"
    }
  },
  "paths": {
    "/Companies/get_residue_company_ids": {
      "post": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "getResidueCompanyIds",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CompanyController.getResidueCompanyIds"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CompanyController.getResidueCompanyIds"
      }
    },
    "/Groups/{id}": {
      "put": {
        "x-controller-name": "GroupController",
        "x-operation-name": "replaceById",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GroupController.replaceById"
      },
      "patch": {
        "x-controller-name": "GroupController",
        "x-operation-name": "updateById",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GroupController.updateById"
      },
      "get": {
        "x-controller-name": "GroupController",
        "x-operation-name": "findById",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "GroupController.findById"
      },
      "delete": {
        "x-controller-name": "GroupController",
        "x-operation-name": "deleteById",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GroupController.deleteById"
      }
    },
    "/Groups": {
      "post": {
        "x-controller-name": "GroupController",
        "x-operation-name": "create",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "GroupController.create"
      },
      "get": {
        "x-controller-name": "GroupController",
        "x-operation-name": "find",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "GroupController.find"
      }
    },
    "/api/2fa/resend-code": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "resendOTPCode",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Código reenviado",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sent": {
                      "type": "boolean"
                    },
                    "expiresIn": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Username requerido o usuario sin 2FA"
          },
          "404": {
            "description": "Usuario no encontrado"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AuthController.resendOTPCode"
      }
    },
    "/api/2fa/verify": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyOTP",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Login completado",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "ttl": {
                      "type": "string"
                    },
                    "created": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Datos faltantes o usuario sin 2FA"
          },
          "401": {
            "description": "Código OTP inválido o expirado"
          },
          "404": {
            "description": "Usuario no encontrado"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AuthController.verifyOTP"
      }
    },
    "/api/Companies/{id}": {
      "put": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "replaceById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Company"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CompanyController.replaceById"
      },
      "patch": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "updateById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CompanyController.updateById"
      },
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "findById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "CompanyController.findById"
      },
      "delete": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "deleteById",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CompanyController.deleteById"
      }
    },
    "/api/Companies": {
      "post": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "create",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Company"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "CompanyController.create"
      },
      "get": {
        "x-controller-name": "CompanyController",
        "x-operation-name": "find",
        "tags": [
          "CompanyController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompanyExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "CompanyController.find"
      }
    },
    "/api/OpenErpService/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "login",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "ttl": {
                      "type": "string"
                    },
                    "created": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "userId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "password",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "database",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AuthController.login"
      }
    },
    "/api/PartnerAddresses/{id}": {
      "put": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "replaceById",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAddress"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PartnerAddressController.replaceById"
      },
      "patch": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "updateById",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAddressExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PartnerAddressController.updateById"
      },
      "get": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "findById",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAddressExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "PartnerAddressController.findById"
      },
      "delete": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "deleteById",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PartnerAddressController.deleteById"
      }
    },
    "/api/PartnerAddresses": {
      "post": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "create",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAddress"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "PartnerAddressController.create"
      },
      "get": {
        "x-controller-name": "PartnerAddressController",
        "x-operation-name": "find",
        "tags": [
          "PartnerAddressController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerAddressExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "PartnerAddressController.find"
      }
    },
    "/api/Partners/{id}": {
      "put": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "replaceById",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Partner"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PartnerController.replaceById"
      },
      "patch": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "updateById",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PartnerController.updateById"
      },
      "get": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "findById",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "PartnerController.findById"
      },
      "delete": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "deleteById",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PartnerController.deleteById"
      }
    },
    "/api/Partners": {
      "post": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "create",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Partner"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "PartnerController.create"
      },
      "get": {
        "x-controller-name": "PartnerController",
        "x-operation-name": "find",
        "tags": [
          "PartnerController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "PartnerController.find"
      }
    },
    "/api/Users/change_user_company/{id}": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "changeCompany",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Change selected company for user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "company_id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "UsersController.changeCompany"
      }
    },
    "/api/Users/{id}": {
      "put": {
        "x-controller-name": "UsersController",
        "x-operation-name": "replaceById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.replaceById"
      },
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "updateById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UsersController.updateById"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "findById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.findById"
      },
      "delete": {
        "x-controller-name": "UsersController",
        "x-operation-name": "deleteById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.deleteById"
      }
    },
    "/api/Users": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "create",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "UsersController.create"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "find",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.find"
      }
    },
    "/api/available-databases": {
      "get": {
        "x-controller-name": "ConfigController",
        "x-operation-name": "getAvailableDatabases",
        "tags": [
          "ConfigController"
        ],
        "responses": {
          "200": {
            "description": "Lista de BBDD Odoo a las que la app puede conectarse",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "databases": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Nombres de bases de datos permitidas"
                    }
                  },
                  "required": [
                    "databases"
                  ]
                }
              }
            }
          }
        },
        "operationId": "ConfigController.getAvailableDatabases"
      }
    },
    "/api/odoo/AliaVmDigitalBookMessages/{id}": {
      "put": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "replaceById",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookMessage"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVmDigitalBookMessageController.replaceById"
      },
      "patch": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "updateById",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookMessageExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVmDigitalBookMessageController.updateById"
      },
      "get": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "findById",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookMessageExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVmDigitalBookMessageController.findById"
      },
      "delete": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "deleteById",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AliaVmDigitalBookMessageController.deleteById"
      }
    },
    "/api/odoo/AliaVmDigitalBookMessages": {
      "post": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "create",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookMessage"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "AliaVmDigitalBookMessageController.create"
      },
      "get": {
        "x-controller-name": "AliaVmDigitalBookMessageController",
        "x-operation-name": "find",
        "tags": [
          "AliaVmDigitalBookMessageController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AliaVmDigitalBookMessageExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVmDigitalBookMessageController.find"
      }
    },
    "/api/odoo/AliaVmDigitalBookPictures/{id}": {
      "put": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "replaceById",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookPicture"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVmDigitalBookPictureController.replaceById"
      },
      "patch": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "updateById",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookPictureExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVmDigitalBookPictureController.updateById"
      },
      "get": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "findById",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookPictureExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVmDigitalBookPictureController.findById"
      },
      "delete": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "deleteById",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AliaVmDigitalBookPictureController.deleteById"
      }
    },
    "/api/odoo/AliaVmDigitalBookPictures": {
      "post": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "create",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVmDigitalBookPicture"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "AliaVmDigitalBookPictureController.create"
      },
      "get": {
        "x-controller-name": "AliaVmDigitalBookPictureController",
        "x-operation-name": "find",
        "tags": [
          "AliaVmDigitalBookPictureController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AliaVmDigitalBookPictureExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVmDigitalBookPictureController.find"
      }
    },
    "/api/odoo/AliaVwDigitalSignBooks/request-code": {
      "post": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "requestCode",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AliaVwDigitalSignBookController.requestCode"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bookId",
                  "phone",
                  "name"
                ],
                "properties": {
                  "bookId": {
                    "type": "number"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AliaVwDigitalSignBookController.requestCode"
      }
    },
    "/api/odoo/AliaVwDigitalSignBooks/verify-phone": {
      "post": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "verifyPhone",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AliaVwDigitalSignBookController.verifyPhone"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bookId",
                  "phone",
                  "code"
                ],
                "properties": {
                  "bookId": {
                    "type": "number"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AliaVwDigitalSignBookController.verifyPhone"
      }
    },
    "/api/odoo/AliaVwDigitalSignBooks/{id}": {
      "put": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "replaceById",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVwDigitalSignBook"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVwDigitalSignBookController.replaceById"
      },
      "patch": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "updateById",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVwDigitalSignBookExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AliaVwDigitalSignBookController.updateById"
      },
      "get": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "findById",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVwDigitalSignBookExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVwDigitalSignBookController.findById"
      },
      "delete": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "deleteById",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AliaVwDigitalSignBookController.deleteById"
      }
    },
    "/api/odoo/AliaVwDigitalSignBooks": {
      "post": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "create",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AliaVwDigitalSignBook"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "AliaVwDigitalSignBookController.create"
      },
      "get": {
        "x-controller-name": "AliaVwDigitalSignBookController",
        "x-operation-name": "find",
        "tags": [
          "AliaVwDigitalSignBookController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AliaVwDigitalSignBookExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "AliaVwDigitalSignBookController.find"
      }
    },
    "/api/odoo/ProjectProjects/{id}": {
      "put": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "replaceById",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "200": {
            "description": "Model instance replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectProject"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ProjectProjectController.replaceById"
      },
      "patch": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "updateById",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "200": {
            "description": "Updated model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectProjectExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ProjectProjectController.updateById"
      },
      "get": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "findById",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "200": {
            "description": "Model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectProjectExcluding_id_"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "ProjectProjectController.findById"
      },
      "delete": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "deleteById",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model instance deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProjectProjectController.deleteById"
      }
    },
    "/api/odoo/ProjectProjects": {
      "post": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "create",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "201": {
            "description": "Model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectProject"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {}
            }
          }
        },
        "operationId": "ProjectProjectController.create"
      },
      "get": {
        "x-controller-name": "ProjectProjectController",
        "x-operation-name": "find",
        "tags": [
          "ProjectProjectController"
        ],
        "responses": {
          "200": {
            "description": "List of model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectProjectExcluding_id_"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        ],
        "operationId": "ProjectProjectController.find"
      }
    },
    "/api/project-views/{projectId}/hit": {
      "post": {
        "x-controller-name": "ProjectViewController",
        "x-operation-name": "hit",
        "tags": [
          "ProjectViewController"
        ],
        "responses": {
          "200": {
            "description": "Contador actualizado tras registrar la visita",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projectId": {
                      "type": "number"
                    },
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "ProjectViewController.hit"
      }
    },
    "/api/project-views/{projectId}": {
      "get": {
        "x-controller-name": "ProjectViewController",
        "x-operation-name": "get",
        "tags": [
          "ProjectViewController"
        ],
        "responses": {
          "200": {
            "description": "Contador actual del proyecto",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projectId": {
                      "type": "number"
                    },
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "ProjectViewController.get"
      }
    },
    "/api/users/avatar": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getUserAvatar",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "User avatar image as base64 string or null",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "nullable": true
                }
              }
            }
          },
          "404": {
            "description": "User not found"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AuthController.getUserAvatar"
      }
    },
    "/api/users/whoAmI": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "whoAmI",
        "tags": [
          "AuthController"
        ],
        "description": "Retrieves the current user info",
        "responses": {
          "200": {
            "description": "Return current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "AuthController.whoAmI"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "company_id": {
            "type": "number"
          },
          "company_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "groups_id": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "login": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "UserExcluding_id_": {
        "title": "UserExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<User, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "company_id": {
            "type": "number"
          },
          "company_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "groups_id": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "login": {
            "type": "string"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<User, 'id'>"
      },
      "Partner": {
        "title": "Partner",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "street": {
            "type": "string"
          },
          "street2": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "country_id": {
            "type": "number"
          },
          "city": {
            "type": "string"
          },
          "state_id": {
            "type": "number"
          },
          "comercial": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "PartnerExcluding_id_": {
        "title": "PartnerExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<Partner, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "street": {
            "type": "string"
          },
          "street2": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "country_id": {
            "type": "number"
          },
          "city": {
            "type": "string"
          },
          "state_id": {
            "type": "number"
          },
          "comercial": {
            "type": "string"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<Partner, 'id'>"
      },
      "PartnerAddress": {
        "title": "PartnerAddress",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "PartnerAddressExcluding_id_": {
        "title": "PartnerAddressExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<PartnerAddress, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PartnerAddress, 'id'>"
      },
      "Group": {
        "title": "Group",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "category_id": {
            "type": "number"
          }
        },
        "additionalProperties": true
      },
      "GroupExcluding_id_": {
        "title": "GroupExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<Group, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "category_id": {
            "type": "number"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<Group, 'id'>"
      },
      "Company": {
        "title": "Company",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "display_name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": true
      },
      "CompanyExcluding_id_": {
        "title": "CompanyExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<Company, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "display_name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<Company, 'id'>"
      },
      "ProjectProject": {
        "title": "ProjectProject",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "partnerId": {
            "type": "number"
          },
          "userId": {
            "type": "number"
          },
          "deceasedFullName": {
            "type": "string"
          },
          "deceasedName": {
            "type": "string"
          },
          "deceasedFirstSurname": {
            "type": "string"
          },
          "deceasedSecondSurname": {
            "type": "string"
          },
          "deceasedGenre": {
            "type": "string"
          },
          "deceasedNationalityCountryId": {
            "type": "number"
          },
          "deceased_nationality_country_id": {
            "type": "number"
          },
          "deceasedDateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "deceasedBirthPlace": {
            "type": "string"
          },
          "deceasedBirthPlaceLocation": {
            "type": "string"
          },
          "deceasedBirthPlaceProvinceId": {
            "type": "number"
          },
          "deceased_birth_place_province_id": {
            "type": "number"
          },
          "deathDate": {
            "type": "string",
            "format": "date-time"
          },
          "deathLocation": {
            "type": "string"
          },
          "deathProvinceId": {
            "type": "number"
          },
          "death_province_id": {
            "type": "number"
          },
          "signBookId": {
            "type": "number"
          },
          "sign_book_id": {
            "type": "number"
          },
          "digitalDisplayId": {
            "type": "number"
          },
          "digital_display_id": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": true
      },
      "ProjectProjectExcluding_id_": {
        "title": "ProjectProjectExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<ProjectProject, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "partnerId": {
            "type": "number"
          },
          "userId": {
            "type": "number"
          },
          "deceasedFullName": {
            "type": "string"
          },
          "deceasedName": {
            "type": "string"
          },
          "deceasedFirstSurname": {
            "type": "string"
          },
          "deceasedSecondSurname": {
            "type": "string"
          },
          "deceasedGenre": {
            "type": "string"
          },
          "deceasedNationalityCountryId": {
            "type": "number"
          },
          "deceased_nationality_country_id": {
            "type": "number"
          },
          "deceasedDateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "deceasedBirthPlace": {
            "type": "string"
          },
          "deceasedBirthPlaceLocation": {
            "type": "string"
          },
          "deceasedBirthPlaceProvinceId": {
            "type": "number"
          },
          "deceased_birth_place_province_id": {
            "type": "number"
          },
          "deathDate": {
            "type": "string",
            "format": "date-time"
          },
          "deathLocation": {
            "type": "string"
          },
          "deathProvinceId": {
            "type": "number"
          },
          "death_province_id": {
            "type": "number"
          },
          "signBookId": {
            "type": "number"
          },
          "sign_book_id": {
            "type": "number"
          },
          "digitalDisplayId": {
            "type": "number"
          },
          "digital_display_id": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<ProjectProject, 'id'>"
      },
      "AliaVwDigitalSignBook": {
        "title": "AliaVwDigitalSignBook",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "proceedingId": {
            "type": "number"
          },
          "displayId": {
            "type": "number"
          },
          "qrCode": {
            "type": "string"
          },
          "user_ids": {
            "type": "number"
          },
          "manager_ids": {
            "type": "number"
          },
          "message_ids": {
            "type": "number"
          },
          "picture_ids": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": true
      },
      "AliaVwDigitalSignBookExcluding_id_": {
        "title": "AliaVwDigitalSignBookExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<AliaVwDigitalSignBook, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "proceedingId": {
            "type": "number"
          },
          "displayId": {
            "type": "number"
          },
          "qrCode": {
            "type": "string"
          },
          "user_ids": {
            "type": "number"
          },
          "manager_ids": {
            "type": "number"
          },
          "message_ids": {
            "type": "number"
          },
          "picture_ids": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<AliaVwDigitalSignBook, 'id'>"
      },
      "AliaVmDigitalBookPicture": {
        "title": "AliaVmDigitalBookPicture",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "phone": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "bookId": {
            "type": "number"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": true
      },
      "AliaVmDigitalBookPictureExcluding_id_": {
        "title": "AliaVmDigitalBookPictureExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<AliaVmDigitalBookPicture, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "phone": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "bookId": {
            "type": "number"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<AliaVmDigitalBookPicture, 'id'>"
      },
      "AliaVmDigitalBookMessage": {
        "title": "AliaVmDigitalBookMessage",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "phone": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "bookId": {
            "type": "number"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": true
      },
      "AliaVmDigitalBookMessageExcluding_id_": {
        "title": "AliaVmDigitalBookMessageExcluding_id_",
        "type": "object",
        "description": "(tsType: Omit<AliaVmDigitalBookMessage, 'id'>, schemaOptions: { exclude: [ 'id' ] })",
        "properties": {
          "phone": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "bookId": {
            "type": "number"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<AliaVmDigitalBookMessage, 'id'>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      }
    }
  },
  "security": [
    {
      "jwt": []
    }
  ],
  "servers": [
    {
      "url": "https://gw.memorial.at02.alialabs.com"
    }
  ]
}