{
  "openapi": "3.0.0",
  "info": {
    "title": "payment_gateway",
    "version": "0.0.1",
    "description": "payment gateway core api",
    "contact": {
      "name": "lesiaki",
      "email": "georgejohn991@gmail.com"
    }
  },
  "paths": {
    "/auth/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "login",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Login with username and password, returns access + refresh tokens",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessToken": {
                      "type": "string"
                    },
                    "refreshToken": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "username",
                  "password"
                ],
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.login"
      }
    },
    "/auth/logout": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "logout",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Revoke the current refresh token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "refreshToken"
                ],
                "properties": {
                  "refreshToken": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.logout"
      }
    },
    "/auth/refresh": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "refresh",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Exchange a valid refresh token for a new access token and rotated refresh token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessToken": {
                      "type": "string"
                    },
                    "refreshToken": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "refreshToken"
                ],
                "properties": {
                  "refreshToken": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.refresh"
      }
    },
    "/cashout": {
      "post": {
        "x-controller-name": "CashoutController",
        "x-operation-name": "cashout",
        "tags": [
          "CashoutController"
        ],
        "responses": {
          "200": {
            "description": "Cashout initiated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "amount",
                  "orderNo"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "orderNo": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CashoutController.cashout"
      }
    },
    "/collection-m-pesas/count": {
      "get": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "count",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CollectionMPesa model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CollectionMPesa.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CollectionMPesa>"
                }
              }
            }
          }
        ],
        "operationId": "CollectionMPesaController.count"
      }
    },
    "/collection-m-pesas/{id}": {
      "put": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "replaceById",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CollectionMPesa PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionMPesa"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CollectionMPesaController.replaceById"
      },
      "patch": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "updateById",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CollectionMPesa PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionMPesaPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CollectionMPesaController.updateById"
      },
      "get": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "findById",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CollectionMPesa model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionMPesaWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionMPesa.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CollectionMPesaController.findById"
      },
      "delete": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "deleteById",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CollectionMPesa DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CollectionMPesaController.deleteById"
      }
    },
    "/collection-m-pesas": {
      "post": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "create",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CollectionMPesa model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionMPesa"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCollectionMPesa"
              }
            }
          }
        },
        "operationId": "CollectionMPesaController.create"
      },
      "patch": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "updateAll",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CollectionMPesa PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CollectionMPesa.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CollectionMPesa>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionMPesaPartial"
              }
            }
          }
        },
        "operationId": "CollectionMPesaController.updateAll"
      },
      "get": {
        "x-controller-name": "CollectionMPesaController",
        "x-operation-name": "find",
        "tags": [
          "CollectionMPesaController"
        ],
        "responses": {
          "200": {
            "description": "Array of CollectionMPesa model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CollectionMPesaWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionMPesa.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CollectionMPesaController.find"
      }
    },
    "/collections/count": {
      "get": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "count",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "200": {
            "description": "Collection model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Collection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Collection>"
                }
              }
            }
          }
        ],
        "operationId": "CollectionController.count"
      }
    },
    "/collections/{id}": {
      "put": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "replaceById",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Collection PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Collection"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CollectionController.replaceById"
      },
      "patch": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "updateById",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Collection PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CollectionController.updateById"
      },
      "get": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "findById",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "200": {
            "description": "Collection model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CollectionController.findById"
      },
      "delete": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "deleteById",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Collection DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CollectionController.deleteById"
      }
    },
    "/collections": {
      "post": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "create",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "200": {
            "description": "Collection model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCollection"
              }
            }
          }
        },
        "operationId": "CollectionController.create"
      },
      "patch": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "updateAll",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "200": {
            "description": "Collection PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Collection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Collection>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CollectionPartial"
              }
            }
          }
        },
        "operationId": "CollectionController.updateAll"
      },
      "get": {
        "x-controller-name": "CollectionController",
        "x-operation-name": "find",
        "tags": [
          "CollectionController"
        ],
        "responses": {
          "200": {
            "description": "Array of Collection model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CollectionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CollectionController.find"
      }
    },
    "/create-order-m-pesas/count": {
      "get": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "count",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CreateOrderMPesa model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateOrderMPesa.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CreateOrderMPesa>"
                }
              }
            }
          }
        ],
        "operationId": "CreateOrderMPesaController.count"
      }
    },
    "/create-order-m-pesas/{id}": {
      "put": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "replaceById",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CreateOrderMPesa PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderMPesa"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CreateOrderMPesaController.replaceById"
      },
      "patch": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "updateById",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CreateOrderMPesa PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderMPesaPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CreateOrderMPesaController.updateById"
      },
      "get": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "findById",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CreateOrderMPesa model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateOrderMPesaWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateOrderMPesa.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CreateOrderMPesaController.findById"
      },
      "delete": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "deleteById",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CreateOrderMPesa DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CreateOrderMPesaController.deleteById"
      }
    },
    "/create-order-m-pesas": {
      "post": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "create",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CreateOrderMPesa model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateOrderMPesa"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCreateOrderMPesa"
              }
            }
          }
        },
        "operationId": "CreateOrderMPesaController.create"
      },
      "patch": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "updateAll",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "200": {
            "description": "CreateOrderMPesa PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CreateOrderMPesa.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CreateOrderMPesa>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderMPesaPartial"
              }
            }
          }
        },
        "operationId": "CreateOrderMPesaController.updateAll"
      },
      "get": {
        "x-controller-name": "CreateOrderMPesaController",
        "x-operation-name": "find",
        "tags": [
          "CreateOrderMPesaController"
        ],
        "responses": {
          "200": {
            "description": "Array of CreateOrderMPesa model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CreateOrderMPesaWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateOrderMPesa.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CreateOrderMPesaController.find"
      }
    },
    "/payment-orders/count": {
      "get": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "count",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentOrder model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PaymentOrder.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PaymentOrder>"
                }
              }
            }
          }
        ],
        "operationId": "PaymentOrderController.count"
      }
    },
    "/payment-orders/{id}": {
      "put": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "replaceById",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentOrder PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentOrder"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentOrderController.replaceById"
      },
      "patch": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "updateById",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentOrder PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentOrderPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentOrderController.updateById"
      },
      "get": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "findById",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentOrder model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentOrderWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentOrder.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PaymentOrderController.findById"
      },
      "delete": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "deleteById",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PaymentOrder DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentOrderController.deleteById"
      }
    },
    "/payment-orders": {
      "post": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "create",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentOrder model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentOrder"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPaymentOrder"
              }
            }
          }
        },
        "operationId": "PaymentOrderController.create"
      },
      "patch": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "updateAll",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "200": {
            "description": "PaymentOrder PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PaymentOrder.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PaymentOrder>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentOrderPartial"
              }
            }
          }
        },
        "operationId": "PaymentOrderController.updateAll"
      },
      "get": {
        "x-controller-name": "PaymentOrderController",
        "x-operation-name": "find",
        "tags": [
          "PaymentOrderController"
        ],
        "responses": {
          "200": {
            "description": "Array of PaymentOrder model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentOrderWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentOrder.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PaymentOrderController.find"
      }
    },
    "/payments/count": {
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "count",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Payment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Payment>"
                }
              }
            }
          }
        ],
        "operationId": "PaymentController.count"
      }
    },
    "/payments/{id}": {
      "put": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "replaceById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Payment"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentController.replaceById"
      },
      "patch": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "updateById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PaymentController.updateById"
      },
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "findById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PaymentController.findById"
      },
      "delete": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "deleteById",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PaymentController.deleteById"
      }
    },
    "/payments": {
      "post": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "create",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPayment"
              }
            }
          }
        },
        "operationId": "PaymentController.create"
      },
      "patch": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "updateAll",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Payment PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Payment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Payment>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPartial"
              }
            }
          }
        },
        "operationId": "PaymentController.updateAll"
      },
      "get": {
        "x-controller-name": "PaymentController",
        "x-operation-name": "find",
        "tags": [
          "PaymentController"
        ],
        "responses": {
          "200": {
            "description": "Array of Payment model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PaymentController.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"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/registered-services/count": {
      "get": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "count",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "RegisteredService model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RegisteredService.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<RegisteredService>"
                }
              }
            }
          }
        ],
        "operationId": "RegisteredServiceController.count"
      }
    },
    "/registered-services/{id}/test-payment": {
      "post": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "testPayment",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "Trigger a test USSD payment for this service",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "orderNo": {
                      "type": "string"
                    },
                    "gateway": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "amount"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RegisteredServiceController.testPayment"
      }
    },
    "/registered-services/{id}": {
      "put": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "replaceById",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "RegisteredService PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisteredService"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RegisteredServiceController.replaceById"
      },
      "patch": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "updateById",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "RegisteredService PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisteredServicePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RegisteredServiceController.updateById"
      },
      "get": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "findById",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "RegisteredService model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisteredServiceWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisteredService.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RegisteredServiceController.findById"
      },
      "delete": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "deleteById",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "RegisteredService DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RegisteredServiceController.deleteById"
      }
    },
    "/registered-services": {
      "post": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "create",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "RegisteredService model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisteredService"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRegisteredService"
              }
            }
          }
        },
        "operationId": "RegisteredServiceController.create"
      },
      "patch": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "updateAll",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "RegisteredService PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "RegisteredService.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<RegisteredService>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisteredServicePartial"
              }
            }
          }
        },
        "operationId": "RegisteredServiceController.updateAll"
      },
      "get": {
        "x-controller-name": "RegisteredServiceController",
        "x-operation-name": "find",
        "tags": [
          "RegisteredServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of RegisteredService model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegisteredServiceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisteredService.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "RegisteredServiceController.find"
      }
    },
    "/users/count": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "count",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "User.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<User>"
                }
              }
            }
          }
        ],
        "operationId": "UserController.count"
      }
    },
    "/users/{id}": {
      "put": {
        "x-controller-name": "UserController",
        "x-operation-name": "replaceById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserController.replaceById"
      },
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserController.updateById"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "findById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UserController.findById"
      },
      "delete": {
        "x-controller-name": "UserController",
        "x-operation-name": "deleteById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserController.deleteById"
      }
    },
    "/users": {
      "post": {
        "x-controller-name": "UserController",
        "x-operation-name": "create",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUser"
              }
            }
          }
        },
        "operationId": "UserController.create"
      },
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateAll",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "User.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<User>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPartial"
              }
            }
          }
        },
        "operationId": "UserController.updateAll"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "find",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Array of User model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "UserController.find"
      }
    }
  },
  "servers": [
    {
      "url": "https://paycore.afrixstreaming.com"
    }
  ],
  "components": {
    "schemas": {
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firebaseToken": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "created": {
            "type": "string"
          },
          "modified": {
            "type": "string"
          },
          "role": {
            "type": "number"
          },
          "image": {
            "type": "string"
          },
          "isBan": {
            "type": "number"
          },
          "bio": {
            "type": "string"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": false
      },
      "NewUser": {
        "title": "NewUser",
        "type": "object",
        "description": "(tsType: Omit<User, 'id'>, schemaOptions: { title: 'NewUser', exclude: [ 'id' ] })",
        "properties": {
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firebaseToken": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "created": {
            "type": "string"
          },
          "modified": {
            "type": "string"
          },
          "role": {
            "type": "number"
          },
          "image": {
            "type": "string"
          },
          "isBan": {
            "type": "number"
          },
          "bio": {
            "type": "string"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<User, 'id'>"
      },
      "UserWithRelations": {
        "title": "UserWithRelations",
        "type": "object",
        "description": "(tsType: UserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firebaseToken": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "created": {
            "type": "string"
          },
          "modified": {
            "type": "string"
          },
          "role": {
            "type": "number"
          },
          "image": {
            "type": "string"
          },
          "isBan": {
            "type": "number"
          },
          "bio": {
            "type": "string"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserWithRelations"
      },
      "UserPartial": {
        "title": "UserPartial",
        "type": "object",
        "description": "(tsType: Partial<User>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firebaseToken": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "created": {
            "type": "string"
          },
          "modified": {
            "type": "string"
          },
          "role": {
            "type": "number"
          },
          "image": {
            "type": "string"
          },
          "isBan": {
            "type": "number"
          },
          "bio": {
            "type": "string"
          },
          "status": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<User>"
      },
      "RegisteredService": {
        "title": "RegisteredService",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "secretKey": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "collectionUrl": {
            "type": "string"
          },
          "disbursementUrl": {
            "type": "string"
          },
          "enableCollection": {
            "type": "boolean"
          },
          "enableDisbursement": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "apiKey",
          "secretKey",
          "channelCode",
          "created",
          "modified"
        ],
        "additionalProperties": false
      },
      "NewRegisteredService": {
        "title": "NewRegisteredService",
        "type": "object",
        "description": "(tsType: Omit<RegisteredService, 'id'>, schemaOptions: { title: 'NewRegisteredService', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "secretKey": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "collectionUrl": {
            "type": "string"
          },
          "disbursementUrl": {
            "type": "string"
          },
          "enableCollection": {
            "type": "boolean"
          },
          "enableDisbursement": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "apiKey",
          "secretKey",
          "channelCode",
          "created",
          "modified"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<RegisteredService, 'id'>"
      },
      "RegisteredServiceWithRelations": {
        "title": "RegisteredServiceWithRelations",
        "type": "object",
        "description": "(tsType: RegisteredServiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "secretKey": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "collectionUrl": {
            "type": "string"
          },
          "disbursementUrl": {
            "type": "string"
          },
          "enableCollection": {
            "type": "boolean"
          },
          "enableDisbursement": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "apiKey",
          "secretKey",
          "channelCode",
          "created",
          "modified"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RegisteredServiceWithRelations"
      },
      "RegisteredServicePartial": {
        "title": "RegisteredServicePartial",
        "type": "object",
        "description": "(tsType: Partial<RegisteredService>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "secretKey": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "collectionUrl": {
            "type": "string"
          },
          "disbursementUrl": {
            "type": "string"
          },
          "enableCollection": {
            "type": "boolean"
          },
          "enableDisbursement": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<RegisteredService>"
      },
      "Payment": {
        "title": "Payment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "orderNo": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "reference": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "operatorName": {
            "type": "string"
          },
          "gateway": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "orderNo",
          "amount",
          "reference",
          "channelName",
          "channelCode",
          "operatorName",
          "gateway",
          "created",
          "modified"
        ],
        "additionalProperties": false
      },
      "NewPayment": {
        "title": "NewPayment",
        "type": "object",
        "description": "(tsType: Omit<Payment, 'id'>, schemaOptions: { title: 'NewPayment', exclude: [ 'id' ] })",
        "properties": {
          "data": {},
          "phone": {
            "type": "string"
          },
          "orderNo": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "reference": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "operatorName": {
            "type": "string"
          },
          "gateway": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "orderNo",
          "amount",
          "reference",
          "channelName",
          "channelCode",
          "operatorName",
          "gateway",
          "created",
          "modified"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Payment, 'id'>"
      },
      "PaymentWithRelations": {
        "title": "PaymentWithRelations",
        "type": "object",
        "description": "(tsType: PaymentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "orderNo": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "reference": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "operatorName": {
            "type": "string"
          },
          "gateway": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "orderNo",
          "amount",
          "reference",
          "channelName",
          "channelCode",
          "operatorName",
          "gateway",
          "created",
          "modified"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentWithRelations"
      },
      "PaymentPartial": {
        "title": "PaymentPartial",
        "type": "object",
        "description": "(tsType: Partial<Payment>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "orderNo": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "reference": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "operatorName": {
            "type": "string"
          },
          "gateway": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Payment>"
      },
      "PaymentOrder": {
        "title": "PaymentOrder",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "name",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false
      },
      "NewPaymentOrder": {
        "title": "NewPaymentOrder",
        "type": "object",
        "description": "(tsType: Omit<PaymentOrder, 'id'>, schemaOptions: { title: 'NewPaymentOrder', exclude: [ 'id' ] })",
        "properties": {
          "data": {},
          "phone": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "name",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PaymentOrder, 'id'>"
      },
      "PaymentOrderWithRelations": {
        "title": "PaymentOrderWithRelations",
        "type": "object",
        "description": "(tsType: PaymentOrderWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "phone",
          "name",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentOrderWithRelations"
      },
      "PaymentOrderPartial": {
        "title": "PaymentOrderPartial",
        "type": "object",
        "description": "(tsType: Partial<PaymentOrder>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PaymentOrder>"
      },
      "CreateOrderMPesa": {
        "title": "CreateOrderMPesa",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "collectionMpesaId": {
            "type": "string"
          },
          "output_ResponseCode": {
            "type": "string"
          },
          "output_ResponseDesc": {
            "type": "string"
          },
          "output_TransactionID": {
            "type": "string"
          },
          "output_ConversationID": {
            "type": "string"
          },
          "output_ThirdPartyConversationID": {
            "type": "string"
          }
        },
        "required": [
          "collectionMpesaId",
          "output_ResponseCode",
          "output_ResponseDesc",
          "output_TransactionID",
          "output_ConversationID",
          "output_ThirdPartyConversationID"
        ],
        "additionalProperties": false
      },
      "NewCreateOrderMPesa": {
        "title": "NewCreateOrderMPesa",
        "type": "object",
        "description": "(tsType: Omit<CreateOrderMPesa, 'id'>, schemaOptions: { title: 'NewCreateOrderMPesa', exclude: [ 'id' ] })",
        "properties": {
          "collectionMpesaId": {
            "type": "string"
          },
          "output_ResponseCode": {
            "type": "string"
          },
          "output_ResponseDesc": {
            "type": "string"
          },
          "output_TransactionID": {
            "type": "string"
          },
          "output_ConversationID": {
            "type": "string"
          },
          "output_ThirdPartyConversationID": {
            "type": "string"
          }
        },
        "required": [
          "collectionMpesaId",
          "output_ResponseCode",
          "output_ResponseDesc",
          "output_TransactionID",
          "output_ConversationID",
          "output_ThirdPartyConversationID"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CreateOrderMPesa, 'id'>"
      },
      "CreateOrderMPesaWithRelations": {
        "title": "CreateOrderMPesaWithRelations",
        "type": "object",
        "description": "(tsType: CreateOrderMPesaWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "collectionMpesaId": {
            "type": "string"
          },
          "output_ResponseCode": {
            "type": "string"
          },
          "output_ResponseDesc": {
            "type": "string"
          },
          "output_TransactionID": {
            "type": "string"
          },
          "output_ConversationID": {
            "type": "string"
          },
          "output_ThirdPartyConversationID": {
            "type": "string"
          }
        },
        "required": [
          "collectionMpesaId",
          "output_ResponseCode",
          "output_ResponseDesc",
          "output_TransactionID",
          "output_ConversationID",
          "output_ThirdPartyConversationID"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CreateOrderMPesaWithRelations"
      },
      "CreateOrderMPesaPartial": {
        "title": "CreateOrderMPesaPartial",
        "type": "object",
        "description": "(tsType: Partial<CreateOrderMPesa>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "collectionMpesaId": {
            "type": "string"
          },
          "output_ResponseCode": {
            "type": "string"
          },
          "output_ResponseDesc": {
            "type": "string"
          },
          "output_TransactionID": {
            "type": "string"
          },
          "output_ConversationID": {
            "type": "string"
          },
          "output_ThirdPartyConversationID": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CreateOrderMPesa>"
      },
      "Collection": {
        "title": "Collection",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "transid": {
            "type": "string"
          },
          "order_id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "channel": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "resultcode": {
            "type": "string"
          },
          "payment_status": {
            "type": "string"
          }
        },
        "required": [
          "transid",
          "order_id",
          "reference",
          "channel",
          "amount",
          "phone",
          "result",
          "resultcode",
          "payment_status"
        ],
        "additionalProperties": false
      },
      "NewCollection": {
        "title": "NewCollection",
        "type": "object",
        "description": "(tsType: Omit<Collection, 'id'>, schemaOptions: { title: 'NewCollection', exclude: [ 'id' ] })",
        "properties": {
          "transid": {
            "type": "string"
          },
          "order_id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "channel": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "resultcode": {
            "type": "string"
          },
          "payment_status": {
            "type": "string"
          }
        },
        "required": [
          "transid",
          "order_id",
          "reference",
          "channel",
          "amount",
          "phone",
          "result",
          "resultcode",
          "payment_status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Collection, 'id'>"
      },
      "CollectionWithRelations": {
        "title": "CollectionWithRelations",
        "type": "object",
        "description": "(tsType: CollectionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transid": {
            "type": "string"
          },
          "order_id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "channel": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "resultcode": {
            "type": "string"
          },
          "payment_status": {
            "type": "string"
          }
        },
        "required": [
          "transid",
          "order_id",
          "reference",
          "channel",
          "amount",
          "phone",
          "result",
          "resultcode",
          "payment_status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CollectionWithRelations"
      },
      "CollectionPartial": {
        "title": "CollectionPartial",
        "type": "object",
        "description": "(tsType: Partial<Collection>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "transid": {
            "type": "string"
          },
          "order_id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "channel": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "resultcode": {
            "type": "string"
          },
          "payment_status": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Collection>"
      },
      "CollectionMPesa": {
        "title": "CollectionMPesa",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "data",
          "phone",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false
      },
      "NewCollectionMPesa": {
        "title": "NewCollectionMPesa",
        "type": "object",
        "description": "(tsType: Omit<CollectionMPesa, 'id'>, schemaOptions: { title: 'NewCollectionMPesa', exclude: [ 'id' ] })",
        "properties": {
          "data": {},
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "data",
          "phone",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CollectionMPesa, 'id'>"
      },
      "CollectionMPesaWithRelations": {
        "title": "CollectionMPesaWithRelations",
        "type": "object",
        "description": "(tsType: CollectionMPesaWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          }
        },
        "required": [
          "data",
          "phone",
          "email",
          "amount",
          "orderNo",
          "channelName",
          "channelCode",
          "created",
          "modified",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CollectionMPesaWithRelations"
      },
      "CollectionMPesaPartial": {
        "title": "CollectionMPesaPartial",
        "type": "object",
        "description": "(tsType: Partial<CollectionMPesa>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {},
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "orderNo": {
            "type": "string"
          },
          "channelName": {
            "type": "string"
          },
          "channelCode": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CollectionMPesa>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "CollectionMPesa.Filter": {
        "type": "object",
        "title": "CollectionMPesa.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"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "email",
                    "amount",
                    "orderNo",
                    "channelName",
                    "channelCode",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CollectionMPesa.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CollectionMPesa>"
      },
      "CollectionMPesa.Filter1": {
        "type": "object",
        "title": "CollectionMPesa.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": "CollectionMPesa.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "email",
                    "amount",
                    "orderNo",
                    "channelName",
                    "channelCode",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CollectionMPesa.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CollectionMPesa>"
      },
      "Collection.Filter": {
        "type": "object",
        "title": "Collection.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"
                  },
                  "transid": {
                    "type": "boolean"
                  },
                  "order_id": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "channel": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "result": {
                    "type": "boolean"
                  },
                  "resultcode": {
                    "type": "boolean"
                  },
                  "payment_status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transid",
                    "order_id",
                    "reference",
                    "channel",
                    "amount",
                    "phone",
                    "result",
                    "resultcode",
                    "payment_status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Collection.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Collection>"
      },
      "Collection.Filter1": {
        "type": "object",
        "title": "Collection.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": "Collection.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "transid": {
                    "type": "boolean"
                  },
                  "order_id": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "channel": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "result": {
                    "type": "boolean"
                  },
                  "resultcode": {
                    "type": "boolean"
                  },
                  "payment_status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "transid",
                    "order_id",
                    "reference",
                    "channel",
                    "amount",
                    "phone",
                    "result",
                    "resultcode",
                    "payment_status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Collection.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Collection>"
      },
      "CreateOrderMPesa.Filter": {
        "type": "object",
        "title": "CreateOrderMPesa.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"
                  },
                  "collectionMpesaId": {
                    "type": "boolean"
                  },
                  "output_ResponseCode": {
                    "type": "boolean"
                  },
                  "output_ResponseDesc": {
                    "type": "boolean"
                  },
                  "output_TransactionID": {
                    "type": "boolean"
                  },
                  "output_ConversationID": {
                    "type": "boolean"
                  },
                  "output_ThirdPartyConversationID": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "collectionMpesaId",
                    "output_ResponseCode",
                    "output_ResponseDesc",
                    "output_TransactionID",
                    "output_ConversationID",
                    "output_ThirdPartyConversationID"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CreateOrderMPesa.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CreateOrderMPesa>"
      },
      "CreateOrderMPesa.Filter1": {
        "type": "object",
        "title": "CreateOrderMPesa.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": "CreateOrderMPesa.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "collectionMpesaId": {
                    "type": "boolean"
                  },
                  "output_ResponseCode": {
                    "type": "boolean"
                  },
                  "output_ResponseDesc": {
                    "type": "boolean"
                  },
                  "output_TransactionID": {
                    "type": "boolean"
                  },
                  "output_ConversationID": {
                    "type": "boolean"
                  },
                  "output_ThirdPartyConversationID": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "collectionMpesaId",
                    "output_ResponseCode",
                    "output_ResponseDesc",
                    "output_TransactionID",
                    "output_ConversationID",
                    "output_ThirdPartyConversationID"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CreateOrderMPesa.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CreateOrderMPesa>"
      },
      "PaymentOrder.Filter": {
        "type": "object",
        "title": "PaymentOrder.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"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "name",
                    "email",
                    "amount",
                    "orderNo",
                    "channelName",
                    "channelCode",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PaymentOrder.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PaymentOrder>"
      },
      "PaymentOrder.Filter1": {
        "type": "object",
        "title": "PaymentOrder.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": "PaymentOrder.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "name",
                    "email",
                    "amount",
                    "orderNo",
                    "channelName",
                    "channelCode",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PaymentOrder.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PaymentOrder>"
      },
      "Payment.Filter": {
        "type": "object",
        "title": "Payment.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "operatorName": {
                    "type": "boolean"
                  },
                  "gateway": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "orderNo",
                    "amount",
                    "reference",
                    "channelName",
                    "channelCode",
                    "operatorName",
                    "gateway",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Payment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Payment>"
      },
      "Payment.Filter1": {
        "type": "object",
        "title": "Payment.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Payment.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "orderNo": {
                    "type": "boolean"
                  },
                  "amount": {
                    "type": "boolean"
                  },
                  "reference": {
                    "type": "boolean"
                  },
                  "channelName": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "operatorName": {
                    "type": "boolean"
                  },
                  "gateway": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "data",
                    "phone",
                    "orderNo",
                    "amount",
                    "reference",
                    "channelName",
                    "channelCode",
                    "operatorName",
                    "gateway",
                    "created",
                    "modified",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Payment.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Payment>"
      },
      "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
          }
        }
      },
      "RegisteredService.Filter": {
        "type": "object",
        "title": "RegisteredService.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"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "apiKey": {
                    "type": "boolean"
                  },
                  "secretKey": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "collectionUrl": {
                    "type": "boolean"
                  },
                  "disbursementUrl": {
                    "type": "boolean"
                  },
                  "enableCollection": {
                    "type": "boolean"
                  },
                  "enableDisbursement": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "apiKey",
                    "secretKey",
                    "channelCode",
                    "description",
                    "collectionUrl",
                    "disbursementUrl",
                    "enableCollection",
                    "enableDisbursement",
                    "status",
                    "created",
                    "modified"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "RegisteredService.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<RegisteredService>"
      },
      "RegisteredService.Filter1": {
        "type": "object",
        "title": "RegisteredService.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": "RegisteredService.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "apiKey": {
                    "type": "boolean"
                  },
                  "secretKey": {
                    "type": "boolean"
                  },
                  "channelCode": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "collectionUrl": {
                    "type": "boolean"
                  },
                  "disbursementUrl": {
                    "type": "boolean"
                  },
                  "enableCollection": {
                    "type": "boolean"
                  },
                  "enableDisbursement": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "apiKey",
                    "secretKey",
                    "channelCode",
                    "description",
                    "collectionUrl",
                    "disbursementUrl",
                    "enableCollection",
                    "enableDisbursement",
                    "status",
                    "created",
                    "modified"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "RegisteredService.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<RegisteredService>"
      },
      "User.Filter": {
        "type": "object",
        "title": "User.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"
                  },
                  "username": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firebaseToken": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "password": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "role": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isBan": {
                    "type": "boolean"
                  },
                  "bio": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "username",
                    "name",
                    "phone",
                    "firstName",
                    "lastName",
                    "email",
                    "firebaseToken",
                    "address",
                    "password",
                    "created",
                    "modified",
                    "role",
                    "image",
                    "isBan",
                    "bio",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      },
      "User.Filter1": {
        "type": "object",
        "title": "User.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": "User.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "username": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firebaseToken": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "password": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "modified": {
                    "type": "boolean"
                  },
                  "role": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isBan": {
                    "type": "boolean"
                  },
                  "bio": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "username",
                    "name",
                    "phone",
                    "firstName",
                    "lastName",
                    "email",
                    "firebaseToken",
                    "address",
                    "password",
                    "created",
                    "modified",
                    "role",
                    "image",
                    "isBan",
                    "bio",
                    "status"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      }
    }
  }
}