{
  "openapi": "3.0.0",
  "info": {
    "title": "api-payment-gateway",
    "version": "0.0.1",
    "contact": {
      "email": "opositamilitar@trustme.academiamilitar",
      "name": "Opositamilitar"
    },
    "license": {
      "name": "Todos los derechos reservados"
    },
    "description": "OpenAPI specification for Academiaamilitar",
    "termsOfService": "termsOfUse"
  },
  "paths": {
    "/currencies/count": {
      "get": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "count",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "200": {
            "description": "Currency model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Currency.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Currency>"
                }
              }
            }
          }
        ],
        "operationId": "CurrencyController.count"
      }
    },
    "/currencies/{id}": {
      "put": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "replaceById",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Currency PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Currency"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CurrencyController.replaceById"
      },
      "patch": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "updateById",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Currency PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CurrencyController.updateById"
      },
      "get": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "findById",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "200": {
            "description": "Currency model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CurrencyController.findById"
      },
      "delete": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "deleteById",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Currency DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CurrencyController.deleteById"
      }
    },
    "/currencies": {
      "post": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "create",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "200": {
            "description": "Currency model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCurrency"
              }
            }
          }
        },
        "operationId": "CurrencyController.create"
      },
      "patch": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "updateAll",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "200": {
            "description": "Currency PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Currency.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Currency>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyPartial"
              }
            }
          }
        },
        "operationId": "CurrencyController.updateAll"
      },
      "get": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "find",
        "tags": [
          "CurrencyController"
        ],
        "responses": {
          "200": {
            "description": "Array of Currency model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CurrencyController.find"
      }
    },
    "/head-quarters-provider-payments/count": {
      "get": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "count",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "HeadQuartersProviderPayment model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HeadQuartersProviderPayment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HeadQuartersProviderPayment>"
                }
              }
            }
          }
        ],
        "operationId": "HeadquartersProviderpaymentController.count"
      }
    },
    "/head-quarters-provider-payments/{id}": {
      "put": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "replaceById",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HeadQuartersProviderPayment PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadQuartersProviderPayment"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HeadquartersProviderpaymentController.replaceById"
      },
      "patch": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "updateById",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HeadQuartersProviderPayment PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadQuartersProviderPaymentPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HeadquartersProviderpaymentController.updateById"
      },
      "get": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "findById",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "HeadQuartersProviderPayment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadQuartersProviderPaymentWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadQuartersProviderPayment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "HeadquartersProviderpaymentController.findById"
      },
      "delete": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "deleteById",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HeadQuartersProviderPayment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "HeadquartersProviderpaymentController.deleteById"
      }
    },
    "/head-quarters-provider-payments": {
      "post": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "create",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "HeadQuartersProviderPayment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadQuartersProviderPayment"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHeadQuartersProviderPayment"
              }
            }
          }
        },
        "operationId": "HeadquartersProviderpaymentController.create"
      },
      "patch": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "updateAll",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "HeadQuartersProviderPayment PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HeadQuartersProviderPayment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HeadQuartersProviderPayment>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadQuartersProviderPaymentPartial"
              }
            }
          }
        },
        "operationId": "HeadquartersProviderpaymentController.updateAll"
      },
      "get": {
        "x-controller-name": "HeadquartersProviderpaymentController",
        "x-operation-name": "find",
        "tags": [
          "HeadquartersProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "Array of HeadQuartersProviderPayment model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HeadQuartersProviderPaymentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadQuartersProviderPayment.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "HeadquartersProviderpaymentController.find"
      }
    },
    "/payment/calculate-price": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "calculatePrice",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Respuesta exitosa con la sesión de Stripe creada",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Stripe Checkout Session object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InputModel"
              }
            }
          }
        },
        "operationId": "PaymentController.calculatePrice"
      }
    },
    "/payment/create-payment": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "createPayment",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PaymentController.createPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PaymentController.createPayment"
      }
    },
    "/payment/get-products": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "getProducts",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Get plan and addons from catalog for summary display",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "plan": {
                      "type": "object"
                    },
                    "addons": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetProductsRequest"
              }
            }
          }
        },
        "operationId": "PaymentController.getProducts"
      }
    },
    "/payment/process-payment": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "processPayment",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PaymentController.processPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PaymentController.processPayment"
      }
    },
    "/payment/{paymentId}": {
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "ping",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PaymentController.ping"
          }
        },
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentController.ping"
      }
    },
    "/payment-providers/count": {
      "get": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "count",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentProvider model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PaymentProvider.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PaymentProvider>"
                }
              }
            }
          }
        ],
        "operationId": "PaymentProviderController.count"
      }
    },
    "/payment-providers/{id}": {
      "put": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "replaceById",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentProvider PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProvider"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentProviderController.replaceById"
      },
      "patch": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "updateById",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentProvider PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProviderPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentProviderController.updateById"
      },
      "get": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "findById",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentProvider model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProviderWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProvider.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PaymentProviderController.findById"
      },
      "delete": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "deleteById",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentProvider DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentProviderController.deleteById"
      }
    },
    "/payment-providers": {
      "post": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "create",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentProvider model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProvider"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPaymentProvider"
              }
            }
          }
        },
        "operationId": "PaymentProviderController.create"
      },
      "patch": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "updateAll",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentProvider PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PaymentProvider.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PaymentProvider>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProviderPartial"
              }
            }
          }
        },
        "operationId": "PaymentProviderController.updateAll"
      },
      "get": {
        "x-controller-name": "PaymentProviderController",
        "x-operation-name": "find",
        "tags": [
          "PaymentProviderController"
        ],
        "responses": {
          "200": {
            "description": "Array of PaymentProvider model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProviderWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProvider.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PaymentProviderController.find"
      }
    },
    "/payments/{id}": {
      "patch": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "updatePayment",
        "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": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentController.updatePayment"
      },
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "findPaymentById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentController.findPaymentById"
      },
      "delete": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "deletePayment",
        "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.deletePayment"
      }
    },
    "/payments": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "createPaymentFromRequest",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PaymentController.createPaymentFromRequest"
      },
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "findPayments",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Array of Payment model instances from billing.payment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "personId": {
                        "type": "string"
                      },
                      "subscriptionId": {
                        "type": "string"
                      },
                      "cycleId": {
                        "type": "string"
                      },
                      "provider": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "CHARGE",
                          "REFUND",
                          "SUBSCRIPTION"
                        ]
                      },
                      "amount": {
                        "type": "object",
                        "properties": {
                          "total": {
                            "type": "number"
                          },
                          "currency": {
                            "type": "string"
                          }
                        }
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "PENDING",
                          "SUCCEEDED",
                          "FAILED",
                          "CANCELED"
                        ]
                      },
                      "providerRefs": {
                        "type": "object",
                        "properties": {
                          "paymentIntentId": {
                            "type": "string"
                          },
                          "checkoutSessionId": {
                            "type": "string"
                          },
                          "subscriptionId": {
                            "type": "string"
                          }
                        }
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "personId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dateUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "operationId": "PaymentController.findPayments"
      }
    },
    "/ping/create-payment": {
      "post": {
        "x-controller-name": "PingController",
        "x-operation-name": "createPayment",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PingController.createPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PingController.createPayment"
      }
    },
    "/ping/process-payment": {
      "post": {
        "x-controller-name": "PingController",
        "x-operation-name": "processPayment",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PingController.processPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PingController.processPayment"
      }
    },
    "/ping/{paymentId}": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PingController.ping"
          }
        },
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PingController.ping"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "getPing",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PingController.getPing"
          }
        },
        "operationId": "PingController.getPing"
      }
    },
    "/trainning-session-provider-payments/count": {
      "get": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "count",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "TrainningSessionProviderPayment model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainningSessionProviderPayment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainningSessionProviderPayment>"
                }
              }
            }
          }
        ],
        "operationId": "TrainningSessionProviderpaymentController.count"
      }
    },
    "/trainning-session-provider-payments/{id}": {
      "put": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "replaceById",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainningSessionProviderPayment PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainningSessionProviderPayment"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainningSessionProviderpaymentController.replaceById"
      },
      "patch": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "updateById",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainningSessionProviderPayment PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainningSessionProviderPaymentPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainningSessionProviderpaymentController.updateById"
      },
      "get": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "findById",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "TrainningSessionProviderPayment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainningSessionProviderPaymentWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainningSessionProviderPayment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainningSessionProviderpaymentController.findById"
      },
      "delete": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "deleteById",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainningSessionProviderPayment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainningSessionProviderpaymentController.deleteById"
      }
    },
    "/trainning-session-provider-payments": {
      "post": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "create",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "TrainningSessionProviderPayment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainningSessionProviderPayment"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTrainningSessionProviderPayment"
              }
            }
          }
        },
        "operationId": "TrainningSessionProviderpaymentController.create"
      },
      "patch": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "updateAll",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "TrainningSessionProviderPayment PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainningSessionProviderPayment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainningSessionProviderPayment>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainningSessionProviderPaymentPartial"
              }
            }
          }
        },
        "operationId": "TrainningSessionProviderpaymentController.updateAll"
      },
      "get": {
        "x-controller-name": "TrainningSessionProviderpaymentController",
        "x-operation-name": "find",
        "tags": [
          "TrainningSessionProviderpaymentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainningSessionProviderPayment model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainningSessionProviderPaymentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainningSessionProviderPayment.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TrainningSessionProviderpaymentController.find"
      }
    },
    "/transaction-details/count": {
      "get": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "count",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "200": {
            "description": "TransactionDetail model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TransactionDetail.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TransactionDetail>"
                }
              }
            }
          }
        ],
        "operationId": "TransactionDetailController.count"
      }
    },
    "/transaction-details/{id}": {
      "put": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "replaceById",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TransactionDetail PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionDetail"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionDetailController.replaceById"
      },
      "patch": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "updateById",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TransactionDetail PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionDetailPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionDetailController.updateById"
      },
      "get": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "findById",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "200": {
            "description": "TransactionDetail model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionDetailWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionDetail.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TransactionDetailController.findById"
      },
      "delete": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "deleteById",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TransactionDetail DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransactionDetailController.deleteById"
      }
    },
    "/transaction-details": {
      "post": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "create",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "200": {
            "description": "TransactionDetail model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionDetail"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTransactionDetail"
              }
            }
          }
        },
        "operationId": "TransactionDetailController.create"
      },
      "patch": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "updateAll",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "200": {
            "description": "TransactionDetail PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TransactionDetail.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TransactionDetail>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionDetailPartial"
              }
            }
          }
        },
        "operationId": "TransactionDetailController.updateAll"
      },
      "get": {
        "x-controller-name": "TransactionDetailController",
        "x-operation-name": "find",
        "tags": [
          "TransactionDetailController"
        ],
        "responses": {
          "200": {
            "description": "Array of TransactionDetail model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionDetailWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionDetail.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TransactionDetailController.find"
      }
    },
    "/transactions/count": {
      "get": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "count",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "200": {
            "description": "Transaction model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Transaction.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Transaction>"
                }
              }
            }
          }
        ],
        "operationId": "TransactionController.count"
      }
    },
    "/transactions/{id}": {
      "put": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "replaceById",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transaction PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Transaction"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionController.replaceById"
      },
      "patch": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "updateById",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transaction PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransactionController.updateById"
      },
      "get": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "findById",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "200": {
            "description": "Transaction model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TransactionController.findById"
      },
      "delete": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "deleteById",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transaction DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransactionController.deleteById"
      }
    },
    "/transactions": {
      "post": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "create",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "200": {
            "description": "Transaction model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTransaction"
              }
            }
          }
        },
        "operationId": "TransactionController.create"
      },
      "patch": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "updateAll",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "200": {
            "description": "Transaction PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Transaction.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Transaction>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionPartial"
              }
            }
          }
        },
        "operationId": "TransactionController.updateAll"
      },
      "get": {
        "x-controller-name": "TransactionController",
        "x-operation-name": "find",
        "tags": [
          "TransactionController"
        ],
        "responses": {
          "200": {
            "description": "Array of Transaction model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TransactionController.find"
      }
    },
    "/webhook/redsys": {
      "post": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "redsysWebhook",
        "tags": [
          "WebhookController"
        ],
        "summary": "Redsys webhook endpoint",
        "description": "Esta API maneja webhooks de Redsys. Para ver un diagrama detallado del flujo del webhook, por favor visita nuestra documentación en [Webhook de Redsys].\n    Para probar el ejemplo tendremos que insertar en la bbdd un registro en la tabla session_redsys con el id de la session que se recibe en el webhook.",
        "responses": {
          "200": {
            "description": "Webhook handled successfully"
          },
          "400": {
            "description": "Bad request. Webhook handling failed"
          }
        },
        "operationId": "WebhookController.redsysWebhook"
      }
    },
    "/webhook/stripe": {
      "post": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "stripeWebhook",
        "tags": [
          "WebhookController"
        ],
        "summary": "Stripe webhook endpoint",
        "description": "Esta API maneja webhooks de Stripe. Para ver un diagrama detallado del flujo del webhook, por favor visita nuestra documentación en [Webhook de Stripe](https://gitlab.com/legalboxv3/legalbox-payment/blob/master/README.md#webhook-de-stripe).\n    Para probar el ejemplo tendremos que insertar en la bbdd un registro en la tabla session_stripe con el id de la session que se recibe en el webhook. [object Object]",
        "responses": {
          "200": {
            "description": "Webhook handled successfully"
          },
          "400": {
            "description": "Bad request. Webhook handling failed"
          }
        },
        "operationId": "WebhookController.stripeWebhook"
      }
    },
    "/webhooks/stripe/test": {
      "post": {
        "x-controller-name": "StripeWebhookController",
        "x-operation-name": "testWebhook",
        "tags": [
          "StripeWebhookController"
        ],
        "responses": {
          "200": {
            "description": "Test endpoint for Stripe webhook",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "subscriptionId": {
                    "type": "string"
                  },
                  "personId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "StripeWebhookController.testWebhook"
      }
    },
    "/webhooks/stripe": {
      "post": {
        "x-controller-name": "StripeWebhookController",
        "x-operation-name": "handleStripeWebhook",
        "tags": [
          "StripeWebhookController"
        ],
        "responses": {
          "200": {
            "description": "Stripe webhook endpoint",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "received": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "StripeWebhookController.handleStripeWebhook"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "Transaction": {
        "title": "Transaction",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "paymentProviderId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          },
          "applicationDate": {
            "type": "string",
            "format": "date-time"
          },
          "idTransactionDetail": {},
          "completed": {
            "type": "boolean"
          },
          "cancelled": {
            "type": "boolean"
          },
          "signatureResponseError": {
            "type": "boolean"
          },
          "responseMsg": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "transactionId"
        ],
        "additionalProperties": false
      },
      "NewTransaction": {
        "title": "NewTransaction",
        "type": "object",
        "description": "(tsType: Omit<Transaction, 'id'>, schemaOptions: { title: 'NewTransaction', exclude: [ 'id' ] })",
        "properties": {
          "transactionId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "paymentProviderId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          },
          "applicationDate": {
            "type": "string",
            "format": "date-time"
          },
          "idTransactionDetail": {},
          "completed": {
            "type": "boolean"
          },
          "cancelled": {
            "type": "boolean"
          },
          "signatureResponseError": {
            "type": "boolean"
          },
          "responseMsg": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "transactionId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Transaction, 'id'>"
      },
      "TransactionWithRelations": {
        "title": "TransactionWithRelations",
        "type": "object",
        "description": "(tsType: TransactionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "paymentProviderId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          },
          "applicationDate": {
            "type": "string",
            "format": "date-time"
          },
          "idTransactionDetail": {},
          "completed": {
            "type": "boolean"
          },
          "cancelled": {
            "type": "boolean"
          },
          "signatureResponseError": {
            "type": "boolean"
          },
          "responseMsg": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "transactionId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TransactionWithRelations"
      },
      "TransactionPartial": {
        "title": "TransactionPartial",
        "type": "object",
        "description": "(tsType: Partial<Transaction>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "paymentProviderId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          },
          "applicationDate": {
            "type": "string",
            "format": "date-time"
          },
          "idTransactionDetail": {},
          "completed": {
            "type": "boolean"
          },
          "cancelled": {
            "type": "boolean"
          },
          "signatureResponseError": {
            "type": "boolean"
          },
          "responseMsg": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Transaction>"
      },
      "TransactionDetail": {
        "title": "TransactionDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "dsSignatureVersion": {
            "type": "string"
          },
          "dsMerchantParameters": {
            "type": "string"
          },
          "dsSignature": {
            "type": "string"
          },
          "response": {
            "type": "object"
          },
          "updateOne": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "transactionId"
        ],
        "additionalProperties": false
      },
      "NewTransactionDetail": {
        "title": "NewTransactionDetail",
        "type": "object",
        "description": "(tsType: Omit<TransactionDetail, 'id'>, schemaOptions: { title: 'NewTransactionDetail', exclude: [ 'id' ] })",
        "properties": {
          "transactionId": {
            "type": "string"
          },
          "dsSignatureVersion": {
            "type": "string"
          },
          "dsMerchantParameters": {
            "type": "string"
          },
          "dsSignature": {
            "type": "string"
          },
          "response": {
            "type": "object"
          },
          "updateOne": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "transactionId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<TransactionDetail, 'id'>"
      },
      "TransactionDetailWithRelations": {
        "title": "TransactionDetailWithRelations",
        "type": "object",
        "description": "(tsType: TransactionDetailWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "dsSignatureVersion": {
            "type": "string"
          },
          "dsMerchantParameters": {
            "type": "string"
          },
          "dsSignature": {
            "type": "string"
          },
          "response": {
            "type": "object"
          },
          "updateOne": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "transactionId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TransactionDetailWithRelations"
      },
      "TransactionDetailPartial": {
        "title": "TransactionDetailPartial",
        "type": "object",
        "description": "(tsType: Partial<TransactionDetail>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "dsSignatureVersion": {
            "type": "string"
          },
          "dsMerchantParameters": {
            "type": "string"
          },
          "dsSignature": {
            "type": "string"
          },
          "response": {
            "type": "object"
          },
          "updateOne": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TransactionDetail>"
      },
      "TrainningSessionProviderPayment": {
        "title": "TrainningSessionProviderPayment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquartersProviderpayment": {
            "type": "string"
          },
          "idSession": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquartersProviderpayment",
          "idSession"
        ],
        "additionalProperties": false
      },
      "NewTrainningSessionProviderPayment": {
        "title": "NewTrainningSessionProviderPayment",
        "type": "object",
        "description": "(tsType: Omit<TrainningSessionProviderPayment, 'id'>, schemaOptions: { title: 'NewTrainningSessionProviderPayment', exclude: [ 'id' ] })",
        "properties": {
          "idHeadquartersProviderpayment": {
            "type": "string"
          },
          "idSession": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquartersProviderpayment",
          "idSession"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<TrainningSessionProviderPayment, 'id'>"
      },
      "TrainningSessionProviderPaymentWithRelations": {
        "title": "TrainningSessionProviderPaymentWithRelations",
        "type": "object",
        "description": "(tsType: TrainningSessionProviderPaymentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquartersProviderpayment": {
            "type": "string"
          },
          "idSession": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquartersProviderpayment",
          "idSession"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TrainningSessionProviderPaymentWithRelations"
      },
      "TrainningSessionProviderPaymentPartial": {
        "title": "TrainningSessionProviderPaymentPartial",
        "type": "object",
        "description": "(tsType: Partial<TrainningSessionProviderPayment>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquartersProviderpayment": {
            "type": "string"
          },
          "idSession": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TrainningSessionProviderPayment>"
      },
      "InputModel": {
        "title": "InputModel",
        "type": "object",
        "properties": {
          "discountCode": {
            "type": "string"
          },
          "addressId": {
            "type": "number"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "subscription": {
            "type": "object"
          },
          "custom": {
            "type": "object"
          }
        },
        "required": [
          "custom"
        ],
        "additionalProperties": false
      },
      "GetProductsRequest": {
        "title": "GetProductsRequest",
        "type": "object",
        "properties": {
          "planCode": {
            "type": "string"
          },
          "billingInterval": {
            "type": "string"
          },
          "addonCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "planCode",
          "billingInterval"
        ],
        "additionalProperties": false
      },
      "PaymentProvider": {
        "title": "PaymentProvider",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "merchantCode": {
            "type": "string"
          },
          "userCredential": {
            "type": "string"
          },
          "passCredential": {
            "type": "string"
          },
          "urlGateway": {
            "type": "string"
          },
          "terminal": {
            "type": "string"
          },
          "productDescription": {
            "type": "string"
          },
          "merchantName": {
            "type": "string"
          }
        },
        "required": [
          "codeIdentify",
          "shortDescription",
          "longDescription",
          "merchantCode",
          "userCredential",
          "passCredential",
          "urlGateway",
          "terminal",
          "productDescription",
          "merchantName"
        ],
        "additionalProperties": false
      },
      "NewPaymentProvider": {
        "title": "NewPaymentProvider",
        "type": "object",
        "description": "(tsType: PaymentProvider, schemaOptions: { title: 'NewPaymentProvider' })",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "merchantCode": {
            "type": "string"
          },
          "userCredential": {
            "type": "string"
          },
          "passCredential": {
            "type": "string"
          },
          "urlGateway": {
            "type": "string"
          },
          "terminal": {
            "type": "string"
          },
          "productDescription": {
            "type": "string"
          },
          "merchantName": {
            "type": "string"
          }
        },
        "required": [
          "codeIdentify",
          "shortDescription",
          "longDescription",
          "merchantCode",
          "userCredential",
          "passCredential",
          "urlGateway",
          "terminal",
          "productDescription",
          "merchantName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentProvider"
      },
      "PaymentProviderWithRelations": {
        "title": "PaymentProviderWithRelations",
        "type": "object",
        "description": "(tsType: PaymentProviderWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "merchantCode": {
            "type": "string"
          },
          "userCredential": {
            "type": "string"
          },
          "passCredential": {
            "type": "string"
          },
          "urlGateway": {
            "type": "string"
          },
          "terminal": {
            "type": "string"
          },
          "productDescription": {
            "type": "string"
          },
          "merchantName": {
            "type": "string"
          }
        },
        "required": [
          "codeIdentify",
          "shortDescription",
          "longDescription",
          "merchantCode",
          "userCredential",
          "passCredential",
          "urlGateway",
          "terminal",
          "productDescription",
          "merchantName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentProviderWithRelations"
      },
      "PaymentProviderPartial": {
        "title": "PaymentProviderPartial",
        "type": "object",
        "description": "(tsType: Partial<PaymentProvider>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "merchantCode": {
            "type": "string"
          },
          "userCredential": {
            "type": "string"
          },
          "passCredential": {
            "type": "string"
          },
          "urlGateway": {
            "type": "string"
          },
          "terminal": {
            "type": "string"
          },
          "productDescription": {
            "type": "string"
          },
          "merchantName": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PaymentProvider>"
      },
      "HeadQuartersProviderPayment": {
        "title": "HeadQuartersProviderPayment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquarters": {
            "type": "string"
          },
          "idPaymentProvider": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquarters",
          "idPaymentProvider"
        ],
        "additionalProperties": false
      },
      "NewHeadQuartersProviderPayment": {
        "title": "NewHeadQuartersProviderPayment",
        "type": "object",
        "description": "(tsType: Omit<HeadQuartersProviderPayment, 'id'>, schemaOptions: { title: 'NewHeadQuartersProviderPayment', exclude: [ 'id' ] })",
        "properties": {
          "idHeadquarters": {
            "type": "string"
          },
          "idPaymentProvider": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquarters",
          "idPaymentProvider"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<HeadQuartersProviderPayment, 'id'>"
      },
      "HeadQuartersProviderPaymentWithRelations": {
        "title": "HeadQuartersProviderPaymentWithRelations",
        "type": "object",
        "description": "(tsType: HeadQuartersProviderPaymentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquarters": {
            "type": "string"
          },
          "idPaymentProvider": {
            "type": "string"
          }
        },
        "required": [
          "idHeadquarters",
          "idPaymentProvider"
        ],
        "additionalProperties": false,
        "x-typescript-type": "HeadQuartersProviderPaymentWithRelations"
      },
      "HeadQuartersProviderPaymentPartial": {
        "title": "HeadQuartersProviderPaymentPartial",
        "type": "object",
        "description": "(tsType: Partial<HeadQuartersProviderPayment>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "idHeadquarters": {
            "type": "string"
          },
          "idPaymentProvider": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<HeadQuartersProviderPayment>"
      },
      "Currency": {
        "title": "Currency",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "codeIdentify"
        ],
        "additionalProperties": false
      },
      "NewCurrency": {
        "title": "NewCurrency",
        "type": "object",
        "description": "(tsType: Omit<Currency, 'id'>, schemaOptions: { title: 'NewCurrency', exclude: [ 'id' ] })",
        "properties": {
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "codeIdentify"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Currency, 'id'>"
      },
      "CurrencyWithRelations": {
        "title": "CurrencyWithRelations",
        "type": "object",
        "description": "(tsType: CurrencyWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "codeIdentify"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CurrencyWithRelations"
      },
      "CurrencyPartial": {
        "title": "CurrencyPartial",
        "type": "object",
        "description": "(tsType: Partial<Currency>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "codeIdentify": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "modifyAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Currency>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Currency.Filter": {
        "type": "object",
        "title": "Currency.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "codeIdentify": {
                    "type": "boolean"
                  },
                  "shortDescription": {
                    "type": "boolean"
                  },
                  "longDescription": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "codeIdentify",
                    "shortDescription",
                    "longDescription",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Currency.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Currency>"
      },
      "Currency.Filter1": {
        "type": "object",
        "title": "Currency.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": "Currency.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "codeIdentify": {
                    "type": "boolean"
                  },
                  "shortDescription": {
                    "type": "boolean"
                  },
                  "longDescription": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "codeIdentify",
                    "shortDescription",
                    "longDescription",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Currency.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Currency>"
      },
      "HeadQuartersProviderPayment.Filter": {
        "type": "object",
        "title": "HeadQuartersProviderPayment.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "idHeadquarters": {
                    "type": "boolean"
                  },
                  "idPaymentProvider": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "idHeadquarters",
                    "idPaymentProvider"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HeadQuartersProviderPayment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HeadQuartersProviderPayment>"
      },
      "HeadQuartersProviderPayment.Filter1": {
        "type": "object",
        "title": "HeadQuartersProviderPayment.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": "HeadQuartersProviderPayment.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "idHeadquarters": {
                    "type": "boolean"
                  },
                  "idPaymentProvider": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "idHeadquarters",
                    "idPaymentProvider"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HeadQuartersProviderPayment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HeadQuartersProviderPayment>"
      },
      "PaymentProvider.Filter": {
        "type": "object",
        "title": "PaymentProvider.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "codeIdentify": {
                    "type": "boolean"
                  },
                  "shortDescription": {
                    "type": "boolean"
                  },
                  "longDescription": {
                    "type": "boolean"
                  },
                  "merchantCode": {
                    "type": "boolean"
                  },
                  "userCredential": {
                    "type": "boolean"
                  },
                  "passCredential": {
                    "type": "boolean"
                  },
                  "urlGateway": {
                    "type": "boolean"
                  },
                  "terminal": {
                    "type": "boolean"
                  },
                  "productDescription": {
                    "type": "boolean"
                  },
                  "merchantName": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "codeIdentify",
                    "shortDescription",
                    "longDescription",
                    "merchantCode",
                    "userCredential",
                    "passCredential",
                    "urlGateway",
                    "terminal",
                    "productDescription",
                    "merchantName"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PaymentProvider.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PaymentProvider>"
      },
      "PaymentProvider.Filter1": {
        "type": "object",
        "title": "PaymentProvider.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": "PaymentProvider.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "codeIdentify": {
                    "type": "boolean"
                  },
                  "shortDescription": {
                    "type": "boolean"
                  },
                  "longDescription": {
                    "type": "boolean"
                  },
                  "merchantCode": {
                    "type": "boolean"
                  },
                  "userCredential": {
                    "type": "boolean"
                  },
                  "passCredential": {
                    "type": "boolean"
                  },
                  "urlGateway": {
                    "type": "boolean"
                  },
                  "terminal": {
                    "type": "boolean"
                  },
                  "productDescription": {
                    "type": "boolean"
                  },
                  "merchantName": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "codeIdentify",
                    "shortDescription",
                    "longDescription",
                    "merchantCode",
                    "userCredential",
                    "passCredential",
                    "urlGateway",
                    "terminal",
                    "productDescription",
                    "merchantName"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PaymentProvider.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PaymentProvider>"
      },
      "TrainningSessionProviderPayment.Filter": {
        "type": "object",
        "title": "TrainningSessionProviderPayment.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "idHeadquartersProviderpayment": {
                    "type": "boolean"
                  },
                  "idSession": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "idHeadquartersProviderpayment",
                    "idSession"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainningSessionProviderPayment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainningSessionProviderPayment>"
      },
      "TrainningSessionProviderPayment.Filter1": {
        "type": "object",
        "title": "TrainningSessionProviderPayment.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": "TrainningSessionProviderPayment.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "idHeadquartersProviderpayment": {
                    "type": "boolean"
                  },
                  "idSession": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "idHeadquartersProviderpayment",
                    "idSession"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainningSessionProviderPayment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainningSessionProviderPayment>"
      },
      "TransactionDetail.Filter": {
        "type": "object",
        "title": "TransactionDetail.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "transactionId": {
                    "type": "boolean"
                  },
                  "dsSignatureVersion": {
                    "type": "boolean"
                  },
                  "dsMerchantParameters": {
                    "type": "boolean"
                  },
                  "dsSignature": {
                    "type": "boolean"
                  },
                  "response": {
                    "type": "boolean"
                  },
                  "updateOne": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transactionId",
                    "dsSignatureVersion",
                    "dsMerchantParameters",
                    "dsSignature",
                    "response",
                    "updateOne",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TransactionDetail.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TransactionDetail>"
      },
      "TransactionDetail.Filter1": {
        "type": "object",
        "title": "TransactionDetail.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": "TransactionDetail.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "transactionId": {
                    "type": "boolean"
                  },
                  "dsSignatureVersion": {
                    "type": "boolean"
                  },
                  "dsMerchantParameters": {
                    "type": "boolean"
                  },
                  "dsSignature": {
                    "type": "boolean"
                  },
                  "response": {
                    "type": "boolean"
                  },
                  "updateOne": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transactionId",
                    "dsSignatureVersion",
                    "dsMerchantParameters",
                    "dsSignature",
                    "response",
                    "updateOne",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TransactionDetail.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TransactionDetail>"
      },
      "Transaction.Filter": {
        "type": "object",
        "title": "Transaction.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": {
                  "id": {
                    "type": "boolean"
                  },
                  "transactionId": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "paymentProviderId": {
                    "type": "boolean"
                  },
                  "currencyId": {
                    "type": "boolean"
                  },
                  "applicationDate": {
                    "type": "boolean"
                  },
                  "idTransactionDetail": {
                    "type": "boolean"
                  },
                  "completed": {
                    "type": "boolean"
                  },
                  "cancelled": {
                    "type": "boolean"
                  },
                  "signatureResponseError": {
                    "type": "boolean"
                  },
                  "responseMsg": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transactionId",
                    "amount",
                    "paymentProviderId",
                    "currencyId",
                    "applicationDate",
                    "idTransactionDetail",
                    "completed",
                    "cancelled",
                    "signatureResponseError",
                    "responseMsg",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Transaction.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Transaction>"
      },
      "Transaction.Filter1": {
        "type": "object",
        "title": "Transaction.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": "Transaction.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "transactionId": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "paymentProviderId": {
                    "type": "boolean"
                  },
                  "currencyId": {
                    "type": "boolean"
                  },
                  "applicationDate": {
                    "type": "boolean"
                  },
                  "idTransactionDetail": {
                    "type": "boolean"
                  },
                  "completed": {
                    "type": "boolean"
                  },
                  "cancelled": {
                    "type": "boolean"
                  },
                  "signatureResponseError": {
                    "type": "boolean"
                  },
                  "responseMsg": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "modifyAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transactionId",
                    "amount",
                    "paymentProviderId",
                    "currencyId",
                    "applicationDate",
                    "idTransactionDetail",
                    "completed",
                    "cancelled",
                    "signatureResponseError",
                    "responseMsg",
                    "createdAt",
                    "deletedAt",
                    "modifyAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Transaction.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Transaction>"
      }
    }
  },
  "servers": [
    {
      "url": "https://opositamilitar-payment-pre.suma.dev"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ]
}