{
  "openapi": "3.0.0",
  "info": {
    "title": "Subscription Service",
    "version": "1.0.0",
    "description": "Subscription management microservice for SaaS control plane.",
    "contact": {
      "name": "Sourcefuse"
    }
  },
  "paths": {
    "/billing-customer/{tenantId}": {
      "patch": {
        "x-controller-name": "BillingCustomerController",
        "x-operation-name": "updateById",
        "tags": [
          "BillingCustomerController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "BillingCustomer PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5327   |\n",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerDtoPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BillingCustomerController.updateById"
      },
      "delete": {
        "x-controller-name": "BillingCustomerController",
        "x-operation-name": "deleteById",
        "tags": [
          "BillingCustomerController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "BillingCustomer DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5331   |\n",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillingCustomerController.deleteById"
      }
    },
    "/billing-customer": {
      "post": {
        "x-controller-name": "BillingCustomerController",
        "x-operation-name": "create",
        "tags": [
          "BillingCustomerController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCustomer model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewBillingCustomer"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5321   |\n",
        "parameters": [
          {
            "name": "tenantId",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomer"
              }
            }
          }
        },
        "operationId": "BillingCustomerController.create"
      },
      "get": {
        "x-controller-name": "BillingCustomerController",
        "x-operation-name": "getCustomer",
        "tags": [
          "BillingCustomerController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCustomer model ",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDto"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5324   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_customer.Filter"
                }
              }
            }
          }
        ],
        "operationId": "BillingCustomerController.getCustomer"
      }
    },
    "/billing-cycles/count": {
      "get": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "count",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCycle model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7024   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "billing_cycles.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BillingCycle>"
                }
              }
            }
          }
        ],
        "operationId": "BillinCycleController.count"
      }
    },
    "/billing-cycles/{id}": {
      "put": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "replaceById",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "BillingCycle PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7022   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BillingCycle"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BillinCycleController.replaceById"
      },
      "patch": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "updateById",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "BillingCycle PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7022   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BillingCyclePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BillinCycleController.updateById"
      },
      "get": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "findById",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCycle model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingCycleWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7024   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_cycles.Filter"
                }
              }
            }
          }
        ],
        "operationId": "BillinCycleController.findById"
      },
      "delete": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "deleteById",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "BillingCycle DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7023   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillinCycleController.deleteById"
      }
    },
    "/billing-cycles": {
      "post": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "create",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCycle model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingCycle"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7021   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewBillingCycle"
              }
            }
          }
        },
        "operationId": "BillinCycleController.create"
      },
      "patch": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "updateAll",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "BillingCycle PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7022   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "billing_cycles.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BillingCycle>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BillingCyclePartial"
              }
            }
          }
        },
        "operationId": "BillinCycleController.updateAll"
      },
      "get": {
        "x-controller-name": "BillinCycleController",
        "x-operation-name": "find",
        "tags": [
          "BillinCycleController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of BillingCycle model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillingCycleWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7024   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_cycles.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "BillinCycleController.find"
      }
    },
    "/billing-invoice/{invoiceId}/payments": {
      "post": {
        "x-controller-name": "BillingInvoiceController",
        "x-operation-name": "applyPaymentForInvoice",
        "tags": [
          "BillingInvoiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "invoice model instance"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5323   |\n",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionDtoPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BillingInvoiceController.applyPaymentForInvoice"
      }
    },
    "/billing-invoice/{invoiceId}": {
      "patch": {
        "x-controller-name": "BillingInvoiceController",
        "x-operation-name": "updateById",
        "tags": [
          "BillingInvoiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Billing Invoice PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5329   |\n",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceDtoPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BillingInvoiceController.updateById"
      },
      "get": {
        "x-controller-name": "BillingInvoiceController",
        "x-operation-name": "getInvoice",
        "tags": [
          "BillingInvoiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "get invoice",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceDto"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5326   |\n",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillingInvoiceController.getInvoice"
      },
      "delete": {
        "x-controller-name": "BillingInvoiceController",
        "x-operation-name": "deleteById",
        "tags": [
          "BillingInvoiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Billing Invoice DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5332   |\n",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillingInvoiceController.deleteById"
      }
    },
    "/billing-invoice": {
      "post": {
        "x-controller-name": "BillingInvoiceController",
        "x-operation-name": "create",
        "tags": [
          "BillingInvoiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "invoice model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceDto"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5323   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/newInvoice"
              }
            }
          }
        },
        "operationId": "BillingInvoiceController.create"
      }
    },
    "/billing-payment-source/{paymentSourceId}": {
      "delete": {
        "x-controller-name": "BillingPaymentSourceController",
        "x-operation-name": "deleteById",
        "tags": [
          "BillingPaymentSourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Billing Payment Source DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5332   |\n",
        "parameters": [
          {
            "name": "paymentSourceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillingPaymentSourceController.deleteById"
      }
    },
    "/billing-payment-source": {
      "post": {
        "x-controller-name": "BillingPaymentSourceController",
        "x-operation-name": "create",
        "tags": [
          "BillingPaymentSourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentSourceDto"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5322   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPaymentSource"
              }
            }
          }
        },
        "operationId": "BillingPaymentSourceController.create"
      },
      "get": {
        "x-controller-name": "BillingPaymentSourceController",
        "x-operation-name": "getPaymentSource",
        "tags": [
          "BillingPaymentSourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "get payment source",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentSourceDto"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 5325   |\n",
        "parameters": [
          {
            "name": "paymentSourceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BillingPaymentSourceController.getPaymentSource"
      }
    },
    "/currencies/count": {
      "get": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "count",
        "tags": [
          "CurrencyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Currency model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7028   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "currencies.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"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Currency PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7026   |\n",
        "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"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Currency PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7026   |\n",
        "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"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Currency model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7028   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/currencies.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CurrencyController.findById"
      },
      "delete": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "deleteById",
        "tags": [
          "CurrencyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Currency DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7027   |\n",
        "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"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Currency model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7025   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCurrency"
              }
            }
          }
        },
        "operationId": "CurrencyController.create"
      },
      "patch": {
        "x-controller-name": "CurrencyController",
        "x-operation-name": "updateAll",
        "tags": [
          "CurrencyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Currency PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7026   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "currencies.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"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Currency model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7028   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/currencies.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CurrencyController.find"
      }
    },
    "/feature-values/count": {
      "get": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "count",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "FeatureValues model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeatureValues   |\n| 9   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "feature_values.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FeatureValues>"
                }
              }
            }
          }
        ],
        "operationId": "FeatureValuesController.count"
      }
    },
    "/feature-values/{id}": {
      "put": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "replaceById",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "FeatureValues PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeatureValues   |\n| 11   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeatureValues"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FeatureValuesController.replaceById"
      },
      "patch": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "updateById",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "FeatureValues PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeatureValues   |\n| 11   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeatureValuesPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FeatureValuesController.updateById"
      },
      "get": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "findById",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "FeatureValues model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureValuesWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeatureValues   |\n| 9   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/feature_values.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FeatureValuesController.findById"
      },
      "delete": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "deleteById",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "FeatureValues DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| DeleteFeatureValues   |\n| 12   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FeatureValuesController.deleteById"
      }
    },
    "/feature-values": {
      "post": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "create",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "FeatureValues model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureValues"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| CreateFeatureValues   |\n| 10   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFeatureValues"
              }
            }
          }
        },
        "operationId": "FeatureValuesController.create"
      },
      "patch": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "updateAll",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "FeatureValues PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeatureValues   |\n| 11   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "feature_values.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FeatureValues>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeatureValuesPartial"
              }
            }
          }
        },
        "operationId": "FeatureValuesController.updateAll"
      },
      "get": {
        "x-controller-name": "FeatureValuesController",
        "x-operation-name": "find",
        "tags": [
          "FeatureValuesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of FeatureValues model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeatureValuesWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeatureValues   |\n| 9   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/feature_values.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "FeatureValuesController.find"
      }
    },
    "/features/count": {
      "get": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "count",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Feature model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeature   |\n| 1   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "features.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Feature>"
                }
              }
            }
          }
        ],
        "operationId": "FeatureController.count"
      }
    },
    "/features/{id}": {
      "put": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "replaceById",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Feature PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeature   |\n| 3   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Feature"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FeatureController.replaceById"
      },
      "patch": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "updateById",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Feature PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeature   |\n| 3   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeaturePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FeatureController.updateById"
      },
      "get": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "findById",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Feature model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeature   |\n| 1   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/features.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FeatureController.findById"
      },
      "delete": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "deleteById",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Feature DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| DeleteFeature   |\n| 4   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FeatureController.deleteById"
      }
    },
    "/features": {
      "post": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "create",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Feature model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| CreateFeature   |\n| 2   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFeature"
              }
            }
          }
        },
        "operationId": "FeatureController.create"
      },
      "patch": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "updateAll",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Feature PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateFeature   |\n| 3   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "features.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Feature>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeaturePartial"
              }
            }
          }
        },
        "operationId": "FeatureController.updateAll"
      },
      "get": {
        "x-controller-name": "FeatureController",
        "x-operation-name": "find",
        "tags": [
          "FeatureController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Feature model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeatureWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewFeature   |\n| 1   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/features.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "FeatureController.find"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "description": "",
        "operationId": "PingController.ping"
      }
    },
    "/plan-sizes/count": {
      "get": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "count",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "PlanSizes model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7029   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "plan_sizes.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PlanSizes>"
                }
              }
            }
          }
        ],
        "operationId": "PlanSizesController.count"
      }
    },
    "/plan-sizes/{id}": {
      "put": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "replaceById",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "PlanSizes PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7031   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanSizes"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanSizesController.replaceById"
      },
      "patch": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "updateById",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "PlanSizes PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7031   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanSizesPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanSizesController.updateById"
      },
      "get": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "findById",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "PlanSizes model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanSizesWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7029   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan_sizes.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PlanSizesController.findById"
      },
      "delete": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "deleteById",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "PlanSizes DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7032   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlanSizesController.deleteById"
      }
    },
    "/plan-sizes": {
      "post": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "create",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "PlanSizes model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanSizes"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7030   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPlanSizes"
              }
            }
          }
        },
        "operationId": "PlanSizesController.create"
      },
      "patch": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "updateAll",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "PlanSizes PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7031   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "plan_sizes.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PlanSizes>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanSizesPartial"
              }
            }
          }
        },
        "operationId": "PlanSizesController.updateAll"
      },
      "get": {
        "x-controller-name": "PlanSizesController",
        "x-operation-name": "find",
        "tags": [
          "PlanSizesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of PlanSizes model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlanSizesWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7029   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan_sizes.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PlanSizesController.find"
      }
    },
    "/plans/count": {
      "get": {
        "x-controller-name": "PlanController",
        "x-operation-name": "count",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7008   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "plans.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Plan>"
                }
              }
            }
          }
        ],
        "operationId": "PlanController.count"
      }
    },
    "/plans/{id}/features": {
      "post": {
        "x-controller-name": "PlanFeaturesController",
        "x-operation-name": "setPlanFeatures",
        "tags": [
          "PlanFeaturesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan Features Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureValues"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7034   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanFeaturesController.setPlanFeatures"
      },
      "patch": {
        "x-controller-name": "PlanFeaturesController",
        "x-operation-name": "updatePlanFeatures",
        "tags": [
          "PlanFeaturesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan Features Updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeatureValues"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7035   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FeatureValuesPartial"
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanFeaturesController.updatePlanFeatures"
      },
      "get": {
        "x-controller-name": "PlanFeaturesController",
        "x-operation-name": "getPlanFeatures",
        "tags": [
          "PlanFeaturesController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan Features Retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureValues"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7033   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlanFeaturesController.getPlanFeatures"
      }
    },
    "/plans/{id}/subscriptions": {
      "get": {
        "x-controller-name": "PlanSubscriptionController",
        "x-operation-name": "find",
        "tags": [
          "PlanSubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7008   |\n| 7004   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlanSubscriptionController.find"
      }
    },
    "/plans/{id}": {
      "put": {
        "x-controller-name": "PlanController",
        "x-operation-name": "replaceById",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Plan PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7006   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Plan"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanController.replaceById"
      },
      "patch": {
        "x-controller-name": "PlanController",
        "x-operation-name": "updateById",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Plan PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7006   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlanController.updateById"
      },
      "get": {
        "x-controller-name": "PlanController",
        "x-operation-name": "findById",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7008   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plans.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PlanController.findById"
      },
      "delete": {
        "x-controller-name": "PlanController",
        "x-operation-name": "deleteById",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Plan DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7007   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlanController.deleteById"
      }
    },
    "/plans": {
      "post": {
        "x-controller-name": "PlanController",
        "x-operation-name": "create",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7005   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPlan"
              }
            }
          }
        },
        "operationId": "PlanController.create"
      },
      "patch": {
        "x-controller-name": "PlanController",
        "x-operation-name": "updateAll",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Plan PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7006   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "plans.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Plan>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanPartial"
              }
            }
          }
        },
        "operationId": "PlanController.updateAll"
      },
      "get": {
        "x-controller-name": "PlanController",
        "x-operation-name": "find",
        "tags": [
          "PlanController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Plan model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlanWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7008   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plans.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PlanController.find"
      }
    },
    "/resources/count": {
      "get": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "count",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Resource model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7016   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "resources.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Resource>"
                }
              }
            }
          }
        ],
        "operationId": "ResourceController.count"
      }
    },
    "/resources/{id}": {
      "put": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "replaceById",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7014   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Resource"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ResourceController.replaceById"
      },
      "patch": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "updateById",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7014   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ResourceController.updateById"
      },
      "get": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "findById",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Resource model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7016   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resources.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ResourceController.findById"
      },
      "delete": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "deleteById",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7015   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ResourceController.deleteById"
      }
    },
    "/resources": {
      "post": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "create",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Resource model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resource"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7013   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewResource"
              }
            }
          }
        },
        "operationId": "ResourceController.create"
      },
      "patch": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "updateAll",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Resource PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7014   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "resources.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Resource>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcePartial"
              }
            }
          }
        },
        "operationId": "ResourceController.updateAll"
      },
      "get": {
        "x-controller-name": "ResourceController",
        "x-operation-name": "find",
        "tags": [
          "ResourceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Resource model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7016   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resources.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ResourceController.find"
      }
    },
    "/services/count": {
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "count",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Service model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7020   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "services.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.count"
      }
    },
    "/services/{id}": {
      "put": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "replaceById",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Service PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7018   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Service"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.replaceById"
      },
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Service PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7018   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7020   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.findById"
      },
      "delete": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "deleteById",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Service DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7019   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ServiceController.deleteById"
      }
    },
    "/services": {
      "post": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "create",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7017   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewService"
              }
            }
          }
        },
        "operationId": "ServiceController.create"
      },
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Service PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7018   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "services.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          }
        },
        "operationId": "ServiceController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "find",
        "tags": [
          "ServiceController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Service model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7020   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/services.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.find"
      }
    },
    "/strategies/count": {
      "get": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "count",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Strategy model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewStrategy   |\n| 5   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "strategies.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Strategy>"
                }
              }
            }
          }
        ],
        "operationId": "StrategyController.count"
      }
    },
    "/strategies/{id}": {
      "put": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "replaceById",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Strategy PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateStrategy   |\n| 7   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Strategy"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StrategyController.replaceById"
      },
      "patch": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "updateById",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Strategy PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateStrategy   |\n| 7   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StrategyPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StrategyController.updateById"
      },
      "get": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "findById",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Strategy model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StrategyWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewStrategy   |\n| 5   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/strategies.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StrategyController.findById"
      },
      "delete": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "deleteById",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Strategy DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| DeleteStrategy   |\n| 8   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "StrategyController.deleteById"
      }
    },
    "/strategies": {
      "post": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "create",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Strategy model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Strategy"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| CreateStrategy   |\n| 6   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStrategy"
              }
            }
          }
        },
        "operationId": "StrategyController.create"
      },
      "patch": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "updateAll",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Strategy PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| UpdateStrategy   |\n| 7   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "strategies.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Strategy>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StrategyPartial"
              }
            }
          }
        },
        "operationId": "StrategyController.updateAll"
      },
      "get": {
        "x-controller-name": "StrategyController",
        "x-operation-name": "find",
        "tags": [
          "StrategyController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Strategy model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StrategyWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| ViewStrategy   |\n| 5   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/strategies.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StrategyController.find"
      }
    },
    "/subscriptions/count": {
      "get": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "count",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7004   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "subscriptions.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Subscription>"
                }
              }
            }
          }
        ],
        "operationId": "SubscriptionController.count"
      }
    },
    "/subscriptions/expire-soon": {
      "get": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "expireSoonSubscription",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Subscription model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7004   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptions.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SubscriptionController.expireSoonSubscription"
      }
    },
    "/subscriptions/expired": {
      "get": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "expiredSubscription",
        "tags": [
          "SubscriptionController"
        ],
        "description": "api that will return newly expired subscription\n\n| Permissions |\n| ------- |\n| 7004   |\n",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Subscription model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "days",
            "in": "header",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptions.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SubscriptionController.expiredSubscription"
      }
    },
    "/subscriptions/{id}/invoice": {
      "get": {
        "x-controller-name": "SubscriptionInvoiceController",
        "x-operation-name": "getInvoice",
        "tags": [
          "SubscriptionInvoiceController"
        ],
        "responses": {
          "200": {
            "description": "Invoice belonging to Subscription",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SubscriptionInvoiceController.getInvoice"
      }
    },
    "/subscriptions/{id}": {
      "put": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "replaceById",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Subscription PUT success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7002   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Subscription"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SubscriptionController.replaceById"
      },
      "patch": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "updateById",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Subscription PATCH success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7002   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SubscriptionController.updateById"
      },
      "get": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "findById",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionWithRelations"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7004   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptions.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "SubscriptionController.findById"
      },
      "delete": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "deleteById",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "204": {
            "description": "Subscription DELETE success"
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7003   |\n",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SubscriptionController.deleteById"
      }
    },
    "/subscriptions": {
      "post": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "create",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7001   |\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewSubscription"
              }
            }
          }
        },
        "operationId": "SubscriptionController.create"
      },
      "patch": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "updateAll",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7002   |\n",
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "subscriptions.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Subscription>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionPartial"
              }
            }
          }
        },
        "operationId": "SubscriptionController.updateAll"
      },
      "get": {
        "x-controller-name": "SubscriptionController",
        "x-operation-name": "find",
        "tags": [
          "SubscriptionController"
        ],
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Subscription model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionWithRelations"
                  }
                }
              }
            }
          }
        },
        "description": "\n\n| Permissions |\n| ------- |\n| 7004   |\n",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscriptions.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SubscriptionController.find"
      }
    },
    "/webhooks/billing-payment": {
      "post": {
        "x-controller-name": "WebhookController",
        "x-operation-name": "handleWebhook",
        "tags": [
          "WebhookController"
        ],
        "description": "",
        "responses": {
          "200": {
            "description": "Return value of WebhookController.handleWebhook",
            "content": {}
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "WebhookController.handleWebhook"
      }
    },
    "/": {
      "get": {
        "x-controller-name": "HomePageController",
        "x-operation-name": "homePage",
        "tags": [
          "HomePageController"
        ],
        "responses": {
          "200": {
            "description": "Home Page",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "description": "",
        "operationId": "HomePageController.homePage"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "Feature": {
        "title": "Feature",
        "type": "object",
        "description": "The features table",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "NewFeature": {
        "title": "NewFeature",
        "type": "object",
        "description": "The features table (tsType: Feature, schemaOptions: { title: 'NewFeature' })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "FeatureWithRelations": {
        "title": "FeatureWithRelations",
        "type": "object",
        "description": "The features table (tsType: FeatureWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "FeaturePartial": {
        "title": "FeaturePartial",
        "type": "object",
        "description": "The features table (tsType: Partial<Feature>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "additionalProperties": false
      },
      "FeatureValues": {
        "title": "FeatureValues",
        "type": "object",
        "description": "The feature-values table",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "featureKey": {
            "type": "string"
          },
          "strategyKey": {
            "type": "string"
          },
          "strategyEntityId": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewFeatureValues": {
        "title": "NewFeatureValues",
        "type": "object",
        "description": "The feature-values table (tsType: FeatureValues, schemaOptions: { title: 'NewFeatureValues' })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "featureKey": {
            "type": "string"
          },
          "strategyKey": {
            "type": "string"
          },
          "strategyEntityId": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "FeatureValuesWithRelations": {
        "title": "FeatureValuesWithRelations",
        "type": "object",
        "description": "The feature-values table (tsType: FeatureValuesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "featureKey": {
            "type": "string"
          },
          "strategyKey": {
            "type": "string"
          },
          "strategyEntityId": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "FeatureValuesPartial": {
        "title": "FeatureValuesPartial",
        "type": "object",
        "description": "The feature-values table (tsType: Partial<FeatureValues>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "featureKey": {
            "type": "string"
          },
          "strategyKey": {
            "type": "string"
          },
          "strategyEntityId": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Strategy": {
        "title": "Strategy",
        "type": "object",
        "description": "The strategies table",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "NewStrategy": {
        "title": "NewStrategy",
        "type": "object",
        "description": "The strategies table (tsType: Strategy, schemaOptions: { title: 'NewStrategy' })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "StrategyWithRelations": {
        "title": "StrategyWithRelations",
        "type": "object",
        "description": "The strategies table (tsType: StrategyWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "key"
        ],
        "additionalProperties": false
      },
      "StrategyPartial": {
        "title": "StrategyPartial",
        "type": "object",
        "description": "The strategies table (tsType: Partial<Strategy>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "BillingCycle": {
        "title": "BillingCycle",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "cycleName": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "durationUnit": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "cycleName",
          "duration",
          "durationUnit"
        ],
        "additionalProperties": false
      },
      "NewBillingCycle": {
        "title": "NewBillingCycle",
        "type": "object",
        "description": "(tsType: Omit<BillingCycle, 'id'>, schemaOptions: { title: 'NewBillingCycle', exclude: [ 'id' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "cycleName": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "durationUnit": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "cycleName",
          "duration",
          "durationUnit"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<BillingCycle, 'id'>"
      },
      "BillingCycleWithRelations": {
        "title": "BillingCycleWithRelations",
        "type": "object",
        "description": "(tsType: BillingCycleWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "cycleName": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "durationUnit": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "cycleName",
          "duration",
          "durationUnit"
        ],
        "additionalProperties": false,
        "x-typescript-type": "BillingCycleWithRelations"
      },
      "BillingCyclePartial": {
        "title": "BillingCyclePartial",
        "type": "object",
        "description": "(tsType: Partial<BillingCycle>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "cycleName": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "durationUnit": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<BillingCycle>"
      },
      "Currency": {
        "title": "Currency",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "currencyName": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        },
        "required": [
          "currencyCode",
          "currencyName"
        ],
        "additionalProperties": false
      },
      "NewCurrency": {
        "title": "NewCurrency",
        "type": "object",
        "description": "(tsType: Omit<Currency, 'id'>, schemaOptions: { title: 'NewCurrency', exclude: [ 'id' ] })",
        "properties": {
          "currencyCode": {
            "type": "string"
          },
          "currencyName": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        },
        "required": [
          "currencyCode",
          "currencyName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Currency, 'id'>"
      },
      "CurrencyWithRelations": {
        "title": "CurrencyWithRelations",
        "type": "object",
        "description": "(tsType: CurrencyWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "currencyName": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        },
        "required": [
          "currencyCode",
          "currencyName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CurrencyWithRelations"
      },
      "CurrencyPartial": {
        "title": "CurrencyPartial",
        "type": "object",
        "description": "(tsType: Partial<Currency>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "currencyName": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Currency>"
      },
      "Plan": {
        "title": "Plan",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the plan"
          },
          "description": {
            "type": "string",
            "description": "description of the plan"
          },
          "tier": {
            "type": "string",
            "description": "Tier of the plan."
          },
          "size": {
            "type": "string",
            "description": "Size of the plan."
          },
          "price": {
            "type": "number"
          },
          "metaData": {
            "type": "object",
            "description": "Meta data of the plan"
          },
          "billingCycleId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "tier",
          "price"
        ],
        "additionalProperties": false
      },
      "NewPlan": {
        "title": "NewPlan",
        "type": "object",
        "description": "(tsType: Omit<Plan, 'id'>, schemaOptions: { title: 'NewPlan', exclude: [ 'id' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the plan"
          },
          "description": {
            "type": "string",
            "description": "description of the plan"
          },
          "tier": {
            "type": "string",
            "description": "Tier of the plan."
          },
          "size": {
            "type": "string",
            "description": "Size of the plan."
          },
          "price": {
            "type": "number"
          },
          "metaData": {
            "type": "object",
            "description": "Meta data of the plan"
          },
          "billingCycleId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "tier",
          "price"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Plan, 'id'>"
      },
      "PlanWithRelations": {
        "title": "PlanWithRelations",
        "type": "object",
        "description": "(tsType: PlanWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the plan"
          },
          "description": {
            "type": "string",
            "description": "description of the plan"
          },
          "tier": {
            "type": "string",
            "description": "Tier of the plan."
          },
          "size": {
            "type": "string",
            "description": "Size of the plan."
          },
          "price": {
            "type": "number"
          },
          "metaData": {
            "type": "object",
            "description": "Meta data of the plan"
          },
          "billingCycleId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          },
          "billingCycle": {
            "$ref": "#/components/schemas/BillingCycleWithRelations"
          },
          "foreignKey": {},
          "currency": {
            "$ref": "#/components/schemas/CurrencyWithRelations"
          }
        },
        "required": [
          "name",
          "tier",
          "price"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PlanWithRelations"
      },
      "PlanPartial": {
        "title": "PlanPartial",
        "type": "object",
        "description": "(tsType: Partial<Plan>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the plan"
          },
          "description": {
            "type": "string",
            "description": "description of the plan"
          },
          "tier": {
            "type": "string",
            "description": "Tier of the plan."
          },
          "size": {
            "type": "string",
            "description": "Size of the plan."
          },
          "price": {
            "type": "number"
          },
          "metaData": {
            "type": "object",
            "description": "Meta data of the plan"
          },
          "billingCycleId": {
            "type": "string"
          },
          "currencyId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Plan>"
      },
      "Resource": {
        "title": "Resource",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the resource"
          },
          "config": {
            "type": "object",
            "description": "config of the resource"
          }
        },
        "required": [
          "name",
          "config"
        ],
        "additionalProperties": false
      },
      "NewResource": {
        "title": "NewResource",
        "type": "object",
        "description": "(tsType: Omit<Resource, 'id'>, schemaOptions: { title: 'NewResource', exclude: [ 'id' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the resource"
          },
          "config": {
            "type": "object",
            "description": "config of the resource"
          }
        },
        "required": [
          "name",
          "config"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Resource, 'id'>"
      },
      "ResourceWithRelations": {
        "title": "ResourceWithRelations",
        "type": "object",
        "description": "(tsType: ResourceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the resource"
          },
          "config": {
            "type": "object",
            "description": "config of the resource"
          }
        },
        "required": [
          "name",
          "config"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ResourceWithRelations"
      },
      "ResourcePartial": {
        "title": "ResourcePartial",
        "type": "object",
        "description": "(tsType: Partial<Resource>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the resource"
          },
          "config": {
            "type": "object",
            "description": "config of the resource"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Resource>"
      },
      "Service": {
        "title": "Service",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the service"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "NewService": {
        "title": "NewService",
        "type": "object",
        "description": "(tsType: Omit<Service, 'id'>, schemaOptions: { title: 'NewService', exclude: [ 'id' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the service"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Service, 'id'>"
      },
      "ServiceWithRelations": {
        "title": "ServiceWithRelations",
        "type": "object",
        "description": "(tsType: ServiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the service"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceWithRelations"
      },
      "ServicePartial": {
        "title": "ServicePartial",
        "type": "object",
        "description": "(tsType: Partial<Service>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "name of the service"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Service>"
      },
      "Subscription": {
        "title": "Subscription",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "subscriberId": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "description": "status of the subscription, it can be - 0(pending), 1(active), 2(inactive), 3(cancelled) and 4(expired)",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          "planId": {
            "type": "string",
            "description": "plan id of the subscription"
          },
          "invoiceId": {
            "type": "string",
            "description": "invoice id of the subscription"
          }
        },
        "required": [
          "subscriberId",
          "startDate",
          "endDate",
          "status"
        ],
        "additionalProperties": false
      },
      "NewSubscription": {
        "title": "NewSubscription",
        "type": "object",
        "description": "(tsType: Omit<Subscription, 'id' | 'startDate' | 'endDate'>, schemaOptions: { title: 'NewSubscription', exclude: [ 'id', 'startDate', 'endDate' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "subscriberId": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "description": "status of the subscription, it can be - 0(pending), 1(active), 2(inactive), 3(cancelled) and 4(expired)",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          "planId": {
            "type": "string",
            "description": "plan id of the subscription"
          },
          "invoiceId": {
            "type": "string",
            "description": "invoice id of the subscription"
          }
        },
        "required": [
          "subscriberId",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Subscription, 'id' | 'startDate' | 'endDate'>"
      },
      "InvoiceWithRelations": {
        "title": "InvoiceWithRelations",
        "type": "object",
        "description": "invoice for a customer (tsType: InvoiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "invoiceId": {
            "type": "string"
          },
          "invoiceStatus": {
            "type": "string",
            "description": "payment or invoice status"
          },
          "billingCustomerId": {
            "type": "string"
          }
        },
        "required": [
          "invoiceId",
          "billingCustomerId"
        ],
        "additionalProperties": false
      },
      "SubscriptionWithRelations": {
        "title": "SubscriptionWithRelations",
        "type": "object",
        "description": "(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "subscriberId": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "description": "status of the subscription, it can be - 0(pending), 1(active), 2(inactive), 3(cancelled) and 4(expired)",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          "planId": {
            "type": "string",
            "description": "plan id of the subscription"
          },
          "invoiceId": {
            "type": "string",
            "description": "invoice id of the subscription"
          },
          "plan": {
            "$ref": "#/components/schemas/PlanWithRelations"
          },
          "foreignKey": {},
          "invoice": {
            "$ref": "#/components/schemas/InvoiceWithRelations"
          }
        },
        "required": [
          "subscriberId",
          "startDate",
          "endDate",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "SubscriptionWithRelations"
      },
      "SubscriptionPartial": {
        "title": "SubscriptionPartial",
        "type": "object",
        "description": "(tsType: Partial<Subscription>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "subscriberId": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "description": "status of the subscription, it can be - 0(pending), 1(active), 2(inactive), 3(cancelled) and 4(expired)",
            "enum": [
              0,
              1,
              2,
              3,
              4
            ]
          },
          "planId": {
            "type": "string",
            "description": "plan id of the subscription"
          },
          "invoiceId": {
            "type": "string",
            "description": "invoice id of the subscription"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Subscription>"
      },
      "PlanSizes": {
        "title": "PlanSizes",
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "config": {
            "type": "object"
          }
        },
        "required": [
          "size"
        ],
        "additionalProperties": false
      },
      "NewPlanSizes": {
        "title": "NewPlanSizes",
        "type": "object",
        "description": "(tsType: Omit<PlanSizes, 'id'>, schemaOptions: { title: 'NewPlanSizes', exclude: [ 'id' ] })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "config": {
            "type": "object"
          }
        },
        "required": [
          "size"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PlanSizes, 'id'>"
      },
      "PlanSizesWithRelations": {
        "title": "PlanSizesWithRelations",
        "type": "object",
        "description": "(tsType: PlanSizesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "config": {
            "type": "object"
          }
        },
        "required": [
          "size"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PlanSizesWithRelations"
      },
      "PlanSizesPartial": {
        "title": "PlanSizesPartial",
        "type": "object",
        "description": "(tsType: Partial<PlanSizes>, schemaOptions: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "config": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PlanSizes>"
      },
      "AddressDto": {
        "title": "AddressDto",
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "options": {
            "type": "object"
          }
        },
        "required": [
          "email",
          "city",
          "state",
          "zip",
          "country"
        ],
        "additionalProperties": false
      },
      "NewBillingCustomer": {
        "title": "NewBillingCustomer",
        "type": "object",
        "description": "(tsType: CustomerDto, schemaOptions: { title: 'NewBillingCustomer' })",
        "properties": {
          "id": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "CustomerDto"
      },
      "NewCustomer": {
        "title": "NewCustomer",
        "type": "object",
        "description": "(tsType: Omit<CustomerDto, 'id'>, schemaOptions: { title: 'NewCustomer', exclude: [ 'id' ] })",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<CustomerDto, 'id'>"
      },
      "CustomerDto": {
        "title": "CustomerDto",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false
      },
      "CustomerDtoPartial": {
        "title": "CustomerDtoPartial",
        "type": "object",
        "description": "(tsType: Partial<CustomerDto>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CustomerDto>"
      },
      "ChargeDto": {
        "title": "ChargeDto",
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "amount",
          "description"
        ],
        "additionalProperties": false
      },
      "InvoiceDto": {
        "title": "InvoiceDto",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "options": {
            "type": "object"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargeDto"
            }
          },
          "status": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "newInvoice": {
        "title": "newInvoice",
        "type": "object",
        "description": "(tsType: Omit<InvoiceDto, 'id' | 'status'>, schemaOptions: { title: 'newInvoice', exclude: [ 'id', 'status' ] })",
        "properties": {
          "customerId": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "options": {
            "type": "object"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargeDto"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvoiceDto, 'id' | 'status'>"
      },
      "InvoiceDtoPartial": {
        "title": "InvoiceDtoPartial",
        "type": "object",
        "description": "(tsType: Partial<InvoiceDto>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "options": {
            "type": "object"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargeDto"
            }
          },
          "status": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<InvoiceDto>"
      },
      "TransactionDtoPartial": {
        "title": "TransactionDtoPartial",
        "type": "object",
        "description": "(tsType: Partial<TransactionDto>, schemaOptions: { partial: true })",
        "properties": {
          "amount": {
            "type": "number",
            "minimum": 0
          },
          "paymentMethod": {
            "type": "string",
            "description": "payment method",
            "enum": [
              "cash",
              "check",
              "bank_transfer",
              "other",
              "custom",
              "payment_source"
            ]
          },
          "paymentSourceId": {
            "type": "string"
          },
          "referenceNumber": {
            "type": "string",
            "maxLength": 100
          },
          "customPaymentMethodId": {
            "type": "string",
            "maxLength": 50
          },
          "idAtGateway": {
            "type": "string",
            "maxLength": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failure"
            ]
          },
          "date": {
            "type": "number"
          },
          "errorCode": {
            "type": "string",
            "maxLength": 100
          },
          "errorText": {
            "type": "string",
            "maxLength": 65000
          },
          "comment": {
            "type": "string",
            "maxLength": 300
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TransactionDto>"
      },
      "TransactionDto": {
        "title": "TransactionDto",
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "minimum": 0
          },
          "paymentMethod": {
            "type": "string",
            "description": "payment method",
            "enum": [
              "cash",
              "check",
              "bank_transfer",
              "other",
              "custom",
              "payment_source"
            ]
          },
          "paymentSourceId": {
            "type": "string"
          },
          "referenceNumber": {
            "type": "string",
            "maxLength": 100
          },
          "customPaymentMethodId": {
            "type": "string",
            "maxLength": 50
          },
          "idAtGateway": {
            "type": "string",
            "maxLength": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failure"
            ]
          },
          "date": {
            "type": "number"
          },
          "errorCode": {
            "type": "string",
            "maxLength": 100
          },
          "errorText": {
            "type": "string",
            "maxLength": 65000
          },
          "comment": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "paymentMethod"
        ],
        "additionalProperties": false
      },
      "PaymentSourceDto": {
        "title": "PaymentSourceDto",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "card": {
            "type": "object",
            "properties": {
              "gatewayAccountId": {
                "type": "string"
              },
              "number": {
                "type": "string"
              },
              "expiryMonth": {
                "type": "number"
              },
              "expiryear": {
                "type": "number"
              },
              "cvv": {
                "type": "string"
              }
            },
            "required": [
              "gatewayAccountId",
              "number",
              "expiryMonth",
              "expiryYear",
              "cvv"
            ]
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false
      },
      "NewPaymentSource": {
        "title": "NewPaymentSource",
        "type": "object",
        "description": "(tsType: Omit<PaymentSourceDto, 'id'>, schemaOptions: { title: 'NewPaymentSource', exclude: [ 'id' ] })",
        "properties": {
          "customerId": {
            "type": "string"
          },
          "card": {
            "type": "object",
            "properties": {
              "gatewayAccountId": {
                "type": "string"
              },
              "number": {
                "type": "string"
              },
              "expiryMonth": {
                "type": "number"
              },
              "expiryear": {
                "type": "number"
              },
              "cvv": {
                "type": "string"
              }
            },
            "required": [
              "gatewayAccountId",
              "number",
              "expiryMonth",
              "expiryYear",
              "cvv"
            ]
          },
          "options": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<PaymentSourceDto, 'id'>"
      },
      "Invoice": {
        "title": "Invoice",
        "type": "object",
        "description": "invoice for a customer",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "deletedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedBy": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "modifiedBy": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "invoiceId": {
            "type": "string"
          },
          "invoiceStatus": {
            "type": "string",
            "description": "payment or invoice status"
          },
          "billingCustomerId": {
            "type": "string"
          }
        },
        "required": [
          "invoiceId",
          "billingCustomerId"
        ],
        "additionalProperties": false
      },
      "billing_customer.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "billing_customer.ScopeFilter"
      },
      "billing_customer.IncludeFilter.Items": {
        "title": "billing_customer.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "invoices"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/billing_customer.ScopeFilter"
          }
        }
      },
      "billing_customer.Filter": {
        "type": "object",
        "title": "billing_customer.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": "billing_customer.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "tenantId": {
                    "type": "boolean"
                  },
                  "customerId": {
                    "type": "boolean"
                  },
                  "paymentSourceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "tenantId",
                    "customerId",
                    "paymentSourceId"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "billing_customer.Fields"
          },
          "include": {
            "title": "billing_customer.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/billing_customer.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<BillingCustomer>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "billing_cycles.Filter": {
        "type": "object",
        "title": "billing_cycles.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "cycleName": {
                    "type": "boolean"
                  },
                  "duration": {
                    "type": "boolean"
                  },
                  "durationUnit": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "cycleName",
                    "duration",
                    "durationUnit",
                    "description"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "billing_cycles.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<BillingCycle>"
      },
      "billing_cycles.Filter1": {
        "type": "object",
        "title": "billing_cycles.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": "billing_cycles.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "cycleName": {
                    "type": "boolean"
                  },
                  "duration": {
                    "type": "boolean"
                  },
                  "durationUnit": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "cycleName",
                    "duration",
                    "durationUnit",
                    "description"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "billing_cycles.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<BillingCycle>"
      },
      "currencies.Filter": {
        "type": "object",
        "title": "currencies.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"
                  },
                  "currencyCode": {
                    "type": "boolean"
                  },
                  "currencyName": {
                    "type": "boolean"
                  },
                  "symbol": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "currencyCode",
                    "currencyName",
                    "symbol",
                    "country"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "currencies.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Currency>"
      },
      "currencies.Filter1": {
        "type": "object",
        "title": "currencies.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": "currencies.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "currencyCode": {
                    "type": "boolean"
                  },
                  "currencyName": {
                    "type": "boolean"
                  },
                  "symbol": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "currencyCode",
                    "currencyName",
                    "symbol",
                    "country"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "currencies.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Currency>"
      },
      "feature_values.Filter": {
        "type": "object",
        "title": "feature_values.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "featureKey": {
                    "type": "boolean"
                  },
                  "strategyKey": {
                    "type": "boolean"
                  },
                  "strategyEntityId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "featureKey",
                    "strategyKey",
                    "strategyEntityId",
                    "status",
                    "value"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "feature_values.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FeatureValues>"
      },
      "feature_values.Filter1": {
        "type": "object",
        "title": "feature_values.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": "feature_values.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "featureKey": {
                    "type": "boolean"
                  },
                  "strategyKey": {
                    "type": "boolean"
                  },
                  "strategyEntityId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "featureKey",
                    "strategyKey",
                    "strategyEntityId",
                    "status",
                    "value"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "feature_values.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FeatureValues>"
      },
      "features.Filter": {
        "type": "object",
        "title": "features.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "defaultValue": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "key",
                    "description",
                    "defaultValue",
                    "type",
                    "metadata"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "features.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Feature>"
      },
      "features.Filter1": {
        "type": "object",
        "title": "features.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": "features.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "defaultValue": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "key",
                    "description",
                    "defaultValue",
                    "type",
                    "metadata"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "features.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Feature>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "plan_sizes.Filter": {
        "type": "object",
        "title": "plan_sizes.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "config": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "size",
                    "config"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "plan_sizes.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PlanSizes>"
      },
      "plan_sizes.Filter1": {
        "type": "object",
        "title": "plan_sizes.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": "plan_sizes.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "config": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "size",
                    "config"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "plan_sizes.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PlanSizes>"
      },
      "plans.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "plans.ScopeFilter"
      },
      "plans.IncludeFilter.Items": {
        "title": "plans.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "billingCycle",
              "currency"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/plans.ScopeFilter"
          }
        }
      },
      "plans.Filter": {
        "type": "object",
        "title": "plans.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "tier": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "price": {
                    "type": "boolean"
                  },
                  "metaData": {
                    "type": "boolean"
                  },
                  "billingCycleId": {
                    "type": "boolean"
                  },
                  "currencyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "description",
                    "tier",
                    "size",
                    "price",
                    "metaData",
                    "billingCycleId",
                    "currencyId"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "plans.Fields"
          },
          "include": {
            "title": "plans.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/plans.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Plan>"
      },
      "plans.Filter1": {
        "type": "object",
        "title": "plans.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": "plans.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "tier": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "price": {
                    "type": "boolean"
                  },
                  "metaData": {
                    "type": "boolean"
                  },
                  "billingCycleId": {
                    "type": "boolean"
                  },
                  "currencyId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "description",
                    "tier",
                    "size",
                    "price",
                    "metaData",
                    "billingCycleId",
                    "currencyId"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "plans.Fields"
          },
          "include": {
            "title": "plans.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/plans.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Plan>"
      },
      "resources.Filter": {
        "type": "object",
        "title": "resources.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "config": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "config"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "resources.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Resource>"
      },
      "resources.Filter1": {
        "type": "object",
        "title": "resources.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": "resources.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "config": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "config"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "resources.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Resource>"
      },
      "services.Filter": {
        "type": "object",
        "title": "services.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "services.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "services.Filter1": {
        "type": "object",
        "title": "services.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": "services.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "services.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "strategies.Filter": {
        "type": "object",
        "title": "strategies.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "priority": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "key",
                    "priority"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "strategies.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Strategy>"
      },
      "strategies.Filter1": {
        "type": "object",
        "title": "strategies.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": "strategies.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "priority": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "name",
                    "key",
                    "priority"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "strategies.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Strategy>"
      },
      "subscriptions.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "subscriptions.ScopeFilter"
      },
      "subscriptions.IncludeFilter.Items": {
        "title": "subscriptions.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "plan",
              "invoice"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/subscriptions.ScopeFilter"
          }
        }
      },
      "subscriptions.Filter": {
        "type": "object",
        "title": "subscriptions.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": "subscriptions.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "subscriberId": {
                    "type": "boolean"
                  },
                  "startDate": {
                    "type": "boolean"
                  },
                  "endDate": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "planId": {
                    "type": "boolean"
                  },
                  "invoiceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "subscriberId",
                    "startDate",
                    "endDate",
                    "status",
                    "planId",
                    "invoiceId"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "subscriptions.Fields"
          },
          "include": {
            "title": "subscriptions.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/subscriptions.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Subscription>"
      },
      "subscriptions.Filter1": {
        "type": "object",
        "title": "subscriptions.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": {
                  "deleted": {
                    "type": "boolean"
                  },
                  "deletedOn": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "createdOn": {
                    "type": "boolean"
                  },
                  "modifiedOn": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "modifiedBy": {
                    "type": "boolean"
                  },
                  "id": {
                    "type": "boolean"
                  },
                  "subscriberId": {
                    "type": "boolean"
                  },
                  "startDate": {
                    "type": "boolean"
                  },
                  "endDate": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "planId": {
                    "type": "boolean"
                  },
                  "invoiceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "deleted",
                    "deletedOn",
                    "deletedBy",
                    "createdOn",
                    "modifiedOn",
                    "createdBy",
                    "modifiedBy",
                    "id",
                    "subscriberId",
                    "startDate",
                    "endDate",
                    "status",
                    "planId",
                    "invoiceId"
                  ],
                  "example": "deleted"
                },
                "uniqueItems": true
              }
            ],
            "title": "subscriptions.Fields"
          },
          "include": {
            "title": "subscriptions.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/subscriptions.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Subscription>"
      }
    }
  },
  "servers": [
    {
      "url": "/"
    }
  ]
}