{
  "openapi": "3.0.0",
  "info": {
    "title": "Pressto-backend",
    "version": "0.0.1",
    "description": "Pressto project backend code",
    "contact": {
      "name": "RakhKaran",
      "email": "132744751+RakhKaran@users.noreply.github.com"
    }
  },
  "paths": {
    "/additional-charge-masters/count": {
      "get": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "count",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "200": {
            "description": "AdditionalChargeMaster model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AdditionalChargeMaster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AdditionalChargeMaster>"
                }
              }
            }
          }
        ],
        "operationId": "AdditionalChargeMasterController.count"
      }
    },
    "/additional-charge-masters/{id}": {
      "patch": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "updateById",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AdditionalChargeMaster PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdditionalChargeMasterPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdditionalChargeMasterController.updateById"
      },
      "get": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "findById",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "200": {
            "description": "AdditionalChargeMaster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdditionalChargeMasterWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdditionalChargeMaster.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AdditionalChargeMasterController.findById"
      }
    },
    "/additional-charge-masters": {
      "post": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "create",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "200": {
            "description": "AdditionalChargeMaster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdditionalChargeMaster"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewAdditionalChargeMaster"
              }
            }
          }
        },
        "operationId": "AdditionalChargeMasterController.create"
      },
      "patch": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "updateAll",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "200": {
            "description": "AdditionalChargeMaster PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AdditionalChargeMaster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AdditionalChargeMaster>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdditionalChargeMasterPartial"
              }
            }
          }
        },
        "operationId": "AdditionalChargeMasterController.updateAll"
      },
      "get": {
        "x-controller-name": "AdditionalChargeMasterController",
        "x-operation-name": "find",
        "tags": [
          "AdditionalChargeMasterController"
        ],
        "responses": {
          "200": {
            "description": "Array of AdditionalChargeMaster model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdditionalChargeMasterWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdditionalChargeMaster.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "AdditionalChargeMasterController.find"
      }
    },
    "/additional-charge-prices": {
      "get": {
        "x-controller-name": "AdditionalChargePricesController",
        "x-operation-name": "getAdditionalChargePrices",
        "tags": [
          "AdditionalChargePricesController"
        ],
        "responses": {
          "200": {
            "description": "Resolved additional-charge prices for a store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "additionalChargeId": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string",
                        "nullable": true
                      },
                      "chargeScope": {
                        "type": "string",
                        "enum": [
                          "order",
                          "item"
                        ]
                      },
                      "chargeType": {
                        "type": "string"
                      },
                      "isTaxable": {
                        "type": "boolean"
                      },
                      "defaultAmount": {
                        "type": "number"
                      },
                      "resolvedAmount": {
                        "type": "number"
                      },
                      "priceSource": {
                        "type": "string",
                        "enum": [
                          "store",
                          "cluster",
                          "region",
                          "base"
                        ]
                      },
                      "appliedPercentage": {
                        "type": "number",
                        "nullable": true
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdditionalChargePricesController.getAdditionalChargePrices"
      }
    },
    "/admin/customers/{customerId}/family-group/members/new-customer": {
      "post": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "addNewCustomerMember",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Create a customer account and add them to the family in one step"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firstName",
                  "phone",
                  "relationship"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminFamilyGroupController.addNewCustomerMember"
      }
    },
    "/admin/customers/{customerId}/family-group/members/{memberId}": {
      "patch": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "updateMember",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update a family member"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "memberId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "AdminFamilyGroupController.updateMember"
      },
      "delete": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "removeMember",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Remove a family member"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "memberId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminFamilyGroupController.removeMember"
      }
    },
    "/admin/customers/{customerId}/family-group/members": {
      "post": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "addMember",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Add a family member for a customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "relationship"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminFamilyGroupController.addMember"
      }
    },
    "/admin/customers/{customerId}/family-group": {
      "post": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "createGroup",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Create family group for a customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminFamilyGroupController.createGroup"
      },
      "get": {
        "x-controller-name": "AdminFamilyGroupController",
        "x-operation-name": "getGroup",
        "tags": [
          "AdminFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get customer family group with members"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminFamilyGroupController.getGroup"
      }
    },
    "/admin/customers/{customerId}/security-deposit/topup/initiate-gateway": {
      "post": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminSecurityDepositTopupInitiateGateway",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pending security deposit top-up request created, for a PGLink to attach to"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminCustomerRechargeController.adminSecurityDepositTopupInitiateGateway"
      }
    },
    "/admin/customers/{customerId}/security-deposit/topup": {
      "post": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminSecurityDepositTopup",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security deposit topped up by admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "paymentMode"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminCustomerRechargeController.adminSecurityDepositTopup"
      }
    },
    "/admin/customers/{customerId}/security-deposit/topup-history": {
      "get": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminSecurityDepositTopupHistory",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer security deposit top-up history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminCustomerRechargeController.adminSecurityDepositTopupHistory"
      }
    },
    "/admin/customers/{customerId}/wallet/debit": {
      "post": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminWalletDebit",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet debited by admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "remarks"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string",
                    "description": "Required — the reason this wallet is being debited."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminCustomerRechargeController.adminWalletDebit"
      }
    },
    "/admin/customers/{customerId}/wallet/recharge/initiate-gateway": {
      "post": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminWalletRechargeInitiateGateway",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pending wallet recharge request created, for a PGLink to attach to"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string",
                    "description": "Required only if the caller is bound to more than one store."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminCustomerRechargeController.adminWalletRechargeInitiateGateway"
      }
    },
    "/admin/customers/{customerId}/wallet/recharge": {
      "post": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminWalletRecharge",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet recharged by admin"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "paymentMode"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "pp_voucher"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string",
                    "description": "Required only if the caller is bound to more than one store."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminCustomerRechargeController.adminWalletRecharge"
      }
    },
    "/admin/customers/{customerId}/wallet/recharge-history": {
      "get": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "adminWalletRechargeHistory",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer wallet recharge history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminCustomerRechargeController.adminWalletRechargeHistory"
      }
    },
    "/admin/wallet/transactions": {
      "get": {
        "x-controller-name": "AdminCustomerRechargeController",
        "x-operation-name": "walletTransactions",
        "tags": [
          "AdminCustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet transactions ledger (recharges + order redemptions)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mobile",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminCustomerRechargeController.walletTransactions"
      }
    },
    "/approval-requests/{id}/resolve": {
      "post": {
        "x-controller-name": "ApprovalController",
        "x-operation-name": "resolve",
        "tags": [
          "ApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Approval request resolved"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "action"
                ],
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "approved",
                      "rejected",
                      "rejected_and_return",
                      "rejected_and_process"
                    ]
                  },
                  "comments": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "approvalSource": {
                    "type": "string",
                    "enum": [
                      "direct",
                      "on_call",
                      "in_person",
                      "whatsapp",
                      "email"
                    ]
                  },
                  "onBehalfOfCustomerId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ApprovalController.resolve"
      }
    },
    "/approval-requests/{id}/revert": {
      "post": {
        "x-controller-name": "ApprovalController",
        "x-operation-name": "revert",
        "tags": [
          "ApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Approval request reverted to pending"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Why the decision is being undone"
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "ApprovalController.revert"
      }
    },
    "/approval-requests/{id}": {
      "get": {
        "x-controller-name": "ApprovalController",
        "x-operation-name": "getById",
        "tags": [
          "ApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Approval request detail with audit trail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ApprovalController.getById"
      }
    },
    "/approval-requests": {
      "post": {
        "x-controller-name": "ApprovalController",
        "x-operation-name": "create",
        "tags": [
          "ApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Approval request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "type",
                  "entityType",
                  "entityId"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "return_item",
                      "upgrade_service",
                      "item_damaged",
                      "reprocess",
                      "post_tag_edit",
                      "cheque_payment",
                      "pdc_payment",
                      "process_at_risk",
                      "refund_payout",
                      "order_items_downgrade"
                    ]
                  },
                  "entityType": {
                    "type": "string",
                    "enum": [
                      "order",
                      "garment",
                      "payment"
                    ]
                  },
                  "entityId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "requestReason": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "metadata": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "ApprovalController.create"
      },
      "get": {
        "x-controller-name": "ApprovalController",
        "x-operation-name": "list",
        "tags": [
          "ApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of approval requests"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "audience",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assignedToRole",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ApprovalController.list"
      }
    },
    "/audit-logs": {
      "get": {
        "x-controller-name": "AuditController",
        "x-operation-name": "list",
        "tags": [
          "AuditController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Audit log entries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "actionType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "performedBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AuditController.list"
      }
    },
    "/auth/client/register": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "clientRegistration",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.clientRegistration"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fullName",
                  "countryCode",
                  "phone",
                  "password"
                ],
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91",
                    "description": "Country code with + prefix (e.g., +91, +1, +44)"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.clientRegistration"
      }
    },
    "/auth/customer/register": {
      "post": {
        "x-controller-name": "CustomerAuthController",
        "x-operation-name": "register",
        "tags": [
          "CustomerAuthController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer registered successfully"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firstName",
                  "lastName",
                  "countryCode",
                  "phone"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6
                  },
                  "referralCode": {
                    "type": "string",
                    "description": "An influencer-shared referral code, if this signup came from one — auto-applies that coupon to this customer's first order."
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerAuthController.register"
      }
    },
    "/auth/customer/send-otp": {
      "post": {
        "x-controller-name": "CustomerAuthController",
        "x-operation-name": "sendOtp",
        "tags": [
          "CustomerAuthController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OTP sent"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "countryCode"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerAuthController.sendOtp"
      }
    },
    "/auth/customer/verify-otp": {
      "post": {
        "x-controller-name": "CustomerAuthController",
        "x-operation-name": "verifyOtp",
        "tags": [
          "CustomerAuthController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OTP verified, token returned"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "countryCode",
                  "otp"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerAuthController.verifyOtp"
      }
    },
    "/auth/forget-password/send-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "forgetPasswordSendOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.forgetPasswordSendOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.forgetPasswordSendOtp"
      }
    },
    "/auth/forget-password/verify-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyEmailOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.verifyEmailOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "otp"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.verifyEmailOtp"
      }
    },
    "/auth/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "login",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.login"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "password"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.login"
      }
    },
    "/auth/me": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "whoAmI",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.whoAmI"
          }
        },
        "operationId": "AuthController.whoAmI"
      }
    },
    "/auth/reset-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "resetPassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.resetPassword"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "otp",
                  "newPassword"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "otp": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string",
                    "minLength": 6
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.resetPassword"
      }
    },
    "/auth/rider/device-token": {
      "patch": {
        "x-controller-name": "RiderAuthController",
        "x-operation-name": "registerDeviceToken",
        "tags": [
          "RiderAuthController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Device token registered"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fcmToken"
                ],
                "properties": {
                  "fcmToken": {
                    "type": "string"
                  },
                  "platform": {
                    "type": "string",
                    "description": "e.g. 'android', 'ios'"
                  },
                  "appVersion": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderAuthController.registerDeviceToken"
      }
    },
    "/auth/rider/send-otp": {
      "post": {
        "x-controller-name": "RiderAuthController",
        "x-operation-name": "sendOtp",
        "tags": [
          "RiderAuthController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OTP sent to the rider"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "countryCode"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderAuthController.sendOtp"
      }
    },
    "/auth/rider/verify-otp": {
      "post": {
        "x-controller-name": "RiderAuthController",
        "x-operation-name": "verifyOtp",
        "tags": [
          "RiderAuthController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OTP verified — JWT and rider detail returned"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "countryCode",
                  "otp"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "otp": {
                    "type": "string"
                  },
                  "fcmToken": {
                    "type": "string",
                    "description": "Firebase Cloud Messaging registration token for this device — registered for push notifications if given."
                  },
                  "platform": {
                    "type": "string",
                    "description": "e.g. 'android', 'ios'"
                  },
                  "appVersion": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderAuthController.verifyOtp"
      }
    },
    "/auth/super-admin/register": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "createSuperAdmin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.createSuperAdmin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fullName",
                  "email",
                  "countryCode",
                  "phone",
                  "password"
                ],
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91",
                    "description": "Country code with + prefix (e.g., +91, +1, +44)"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.createSuperAdmin"
      }
    },
    "/auth/update-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updatePassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updatePassword"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "oldPassword",
                  "newPassword"
                ],
                "properties": {
                  "oldPassword": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string",
                    "minLength": 6
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updatePassword"
      }
    },
    "/bags/count": {
      "get": {
        "x-controller-name": "BagController",
        "x-operation-name": "count",
        "tags": [
          "BagController"
        ],
        "responses": {
          "200": {
            "description": "Bag model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Bag.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Bag>"
                }
              }
            }
          }
        ],
        "operationId": "BagController.count"
      }
    },
    "/bags/{id}": {
      "patch": {
        "x-controller-name": "BagController",
        "x-operation-name": "updateById",
        "tags": [
          "BagController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Bag PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BagPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BagController.updateById"
      },
      "get": {
        "x-controller-name": "BagController",
        "x-operation-name": "findById",
        "tags": [
          "BagController"
        ],
        "responses": {
          "200": {
            "description": "Bag model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BagWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bag.Filter"
                }
              }
            }
          }
        ],
        "operationId": "BagController.findById"
      },
      "delete": {
        "x-controller-name": "BagController",
        "x-operation-name": "deleteById",
        "tags": [
          "BagController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Bag DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BagController.deleteById"
      }
    },
    "/bags": {
      "post": {
        "x-controller-name": "BagController",
        "x-operation-name": "create",
        "tags": [
          "BagController"
        ],
        "responses": {
          "200": {
            "description": "Bag model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bag"
                }
              }
            }
          }
        },
        "operationId": "BagController.create"
      },
      "get": {
        "x-controller-name": "BagController",
        "x-operation-name": "find",
        "tags": [
          "BagController"
        ],
        "responses": {
          "200": {
            "description": "Array of Bag model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BagWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Bag.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "BagController.find"
      }
    },
    "/brands/count": {
      "get": {
        "x-controller-name": "BrandController",
        "x-operation-name": "count",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "200": {
            "description": "Brand model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Brand.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Brand>"
                }
              }
            }
          }
        ],
        "operationId": "BrandController.count"
      }
    },
    "/brands/{id}": {
      "patch": {
        "x-controller-name": "BrandController",
        "x-operation-name": "updateById",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Brand PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BrandController.updateById"
      },
      "get": {
        "x-controller-name": "BrandController",
        "x-operation-name": "findById",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "200": {
            "description": "Brand model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrandWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Brand.Filter"
                }
              }
            }
          }
        ],
        "operationId": "BrandController.findById"
      }
    },
    "/brands": {
      "post": {
        "x-controller-name": "BrandController",
        "x-operation-name": "create",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "200": {
            "description": "Brand model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Brand"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewBrand"
              }
            }
          }
        },
        "operationId": "BrandController.create"
      },
      "patch": {
        "x-controller-name": "BrandController",
        "x-operation-name": "updateAll",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "200": {
            "description": "Brand PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Brand.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Brand>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BrandPartial"
              }
            }
          }
        },
        "operationId": "BrandController.updateAll"
      },
      "get": {
        "x-controller-name": "BrandController",
        "x-operation-name": "find",
        "tags": [
          "BrandController"
        ],
        "responses": {
          "200": {
            "description": "Array of Brand model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BrandWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Brand.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "BrandController.find"
      }
    },
    "/cluster-price-lists/count": {
      "get": {
        "x-controller-name": "ClusterPriceListController",
        "x-operation-name": "count",
        "tags": [
          "ClusterPriceListController"
        ],
        "responses": {
          "200": {
            "description": "ClusterPriceList model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ClusterPriceList.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ClusterPriceList>"
                }
              }
            }
          }
        ],
        "operationId": "ClusterPriceListController.count"
      }
    },
    "/cluster-price-lists/{id}": {
      "patch": {
        "x-controller-name": "ClusterPriceListController",
        "x-operation-name": "updateById",
        "tags": [
          "ClusterPriceListController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ClusterPriceList PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClusterPriceListPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClusterPriceListController.updateById"
      },
      "get": {
        "x-controller-name": "ClusterPriceListController",
        "x-operation-name": "findById",
        "tags": [
          "ClusterPriceListController"
        ],
        "responses": {
          "200": {
            "description": "ClusterPriceList model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterPriceListWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterPriceList.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ClusterPriceListController.findById"
      }
    },
    "/cluster-price-lists": {
      "post": {
        "x-controller-name": "ClusterPriceListController",
        "x-operation-name": "create",
        "tags": [
          "ClusterPriceListController"
        ],
        "responses": {
          "200": {
            "description": "ClusterPriceList model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterPriceList"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewClusterPriceList"
              }
            }
          }
        },
        "operationId": "ClusterPriceListController.create"
      },
      "get": {
        "x-controller-name": "ClusterPriceListController",
        "x-operation-name": "find",
        "tags": [
          "ClusterPriceListController"
        ],
        "responses": {
          "200": {
            "description": "Array of ClusterPriceList model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterPriceListWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterPriceList.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ClusterPriceListController.find"
      }
    },
    "/clusters/count": {
      "get": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "count",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "200": {
            "description": "Cluster model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Cluster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Cluster>"
                }
              }
            }
          }
        ],
        "operationId": "ClusterController.count"
      }
    },
    "/clusters/{id}": {
      "patch": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "updateById",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cluster PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClusterPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ClusterController.updateById"
      },
      "get": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "findById",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "200": {
            "description": "Cluster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cluster.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ClusterController.findById"
      }
    },
    "/clusters": {
      "post": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "create",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "200": {
            "description": "Cluster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cluster"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCluster"
              }
            }
          }
        },
        "operationId": "ClusterController.create"
      },
      "patch": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "updateAll",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "200": {
            "description": "Cluster PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Cluster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Cluster>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClusterPartial"
              }
            }
          }
        },
        "operationId": "ClusterController.updateAll"
      },
      "get": {
        "x-controller-name": "ClusterController",
        "x-operation-name": "find",
        "tags": [
          "ClusterController"
        ],
        "responses": {
          "200": {
            "description": "Array of Cluster model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClusterWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cluster.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ClusterController.find"
      }
    },
    "/colors/count": {
      "get": {
        "x-controller-name": "ColorController",
        "x-operation-name": "count",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "200": {
            "description": "Color model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Color.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Color>"
                }
              }
            }
          }
        ],
        "operationId": "ColorController.count"
      }
    },
    "/colors/{id}": {
      "patch": {
        "x-controller-name": "ColorController",
        "x-operation-name": "updateById",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Color PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ColorPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ColorController.updateById"
      },
      "get": {
        "x-controller-name": "ColorController",
        "x-operation-name": "findById",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "200": {
            "description": "Color model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ColorWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Color.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ColorController.findById"
      }
    },
    "/colors": {
      "post": {
        "x-controller-name": "ColorController",
        "x-operation-name": "create",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "200": {
            "description": "Color model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Color"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewColor"
              }
            }
          }
        },
        "operationId": "ColorController.create"
      },
      "patch": {
        "x-controller-name": "ColorController",
        "x-operation-name": "updateAll",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "200": {
            "description": "Color PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Color.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Color>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ColorPartial"
              }
            }
          }
        },
        "operationId": "ColorController.updateAll"
      },
      "get": {
        "x-controller-name": "ColorController",
        "x-operation-name": "find",
        "tags": [
          "ColorController"
        ],
        "responses": {
          "200": {
            "description": "Array of Color model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ColorWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Color.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ColorController.find"
      }
    },
    "/country-codes": {
      "get": {
        "x-controller-name": "CountryCodeController",
        "x-operation-name": "find",
        "tags": [
          "CountryCodeController"
        ],
        "responses": {
          "200": {
            "description": "Active country dialing codes for phone number selectors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryCode"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountryCode.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CountryCodeController.find"
      }
    },
    "/coupons/bulk/upload": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "uploadBulk",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupons created from validated import"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "CouponController.uploadBulk"
      }
    },
    "/coupons/bulk/validate": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "validateBulk",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon import validation result"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "CouponController.validateBulk"
      }
    },
    "/coupons/count": {
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "count",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "CouponController.count"
      }
    },
    "/coupons/new-customer-preview": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "newCustomerPreview",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Preview of a standing new-customer coupon, if any applies"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "storeId"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity",
                        "totalPrice"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string"
                        },
                        "itemId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "totalPrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.newCustomerPreview"
      }
    },
    "/coupons/referral-preview": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "referralPreview",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Preview of the selected customer's referral coupon, if any applies"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "storeId"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity",
                        "totalPrice"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string"
                        },
                        "itemId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "totalPrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.referralPreview"
      }
    },
    "/coupons/validate": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "validate",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon eligibility + discount preview"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "couponCode",
                  "customerId",
                  "storeId",
                  "items"
                ],
                "properties": {
                  "couponCode": {
                    "type": "string"
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity",
                        "totalPrice"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string"
                        },
                        "itemId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "totalPrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.validate"
      }
    },
    "/coupons/validate-multiple": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "validateMultiple",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Multi-coupon combination eligibility + discount preview"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "couponCodes",
                  "customerId",
                  "storeId",
                  "items"
                ],
                "properties": {
                  "couponCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "existingDraftOrderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity",
                        "totalPrice"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string"
                        },
                        "itemId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "totalPrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.validateMultiple"
      }
    },
    "/coupons/{id}/customers/{customerId}": {
      "delete": {
        "x-controller-name": "CouponController",
        "x-operation-name": "removeCustomer",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer removed from this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.removeCustomer"
      }
    },
    "/coupons/{id}/customers": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "addCustomers",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Individual customers added to this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerIds"
                ],
                "properties": {
                  "customerIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "csv_upload"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CouponController.addCustomers"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "listCustomers",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Individually-targeted customers for this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.listCustomers"
      }
    },
    "/coupons/{id}/price-overrides/by-category": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "setPriceOverridesByCategory",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "One price applied to every service-item pair under a category"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "serviceCategoryId",
                  "overridePrice"
                ],
                "properties": {
                  "serviceCategoryId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "overridePrice": {
                    "type": "number"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CouponController.setPriceOverridesByCategory"
      }
    },
    "/coupons/{id}/price-overrides/{overrideId}": {
      "delete": {
        "x-controller-name": "CouponController",
        "x-operation-name": "removePriceOverride",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Price override mapping removed from this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "overrideId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.removePriceOverride"
      }
    },
    "/coupons/{id}/price-overrides": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "setPriceOverrides",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Price override mappings added/updated on this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "overrides"
                ],
                "properties": {
                  "overrides": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "overridePrice"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "itemId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "overridePrice": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CouponController.setPriceOverrides"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "listPriceOverrides",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Service/item price overrides for this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CouponController.listPriceOverrides"
      }
    },
    "/coupons/{id}/redemptions": {
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "redemptions",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Redemption history for this coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.redemptions"
      }
    },
    "/coupons/{id}": {
      "patch": {
        "x-controller-name": "CouponController",
        "x-operation-name": "updateById",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CouponController.updateById"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "findById",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon detail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.findById"
      },
      "delete": {
        "x-controller-name": "CouponController",
        "x-operation-name": "deleteById",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.deleteById"
      }
    },
    "/coupons": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "create",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "CouponController.create"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "find",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupons"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Coupon.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CouponController.find"
      }
    },
    "/customer-addresses/{id}": {
      "patch": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerAddress PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addressType": {
                    "type": "string"
                  },
                  "addressName": {
                    "type": "string",
                    "description": "e.g. Father's home, 2nd office"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string",
                    "description": "Door/floor/flat number"
                  },
                  "societyName": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "isDefault": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerAddressController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "CustomerAddress model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddress"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerAddressController.findById"
      },
      "delete": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "deleteById",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerAddress soft delete success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerAddressController.deleteById"
      }
    },
    "/customer-addresses": {
      "post": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "create",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "CustomerAddress model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddress"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "pincode"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "addressType": {
                    "type": "string"
                  },
                  "addressName": {
                    "type": "string",
                    "description": "e.g. Father's home, 2nd office"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string",
                    "description": "Door/floor/flat number"
                  },
                  "societyName": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerAddressController.create"
      },
      "get": {
        "x-controller-name": "CustomerAddressController",
        "x-operation-name": "find",
        "tags": [
          "CustomerAddressController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerAddress model instances for a customer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerAddress"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerAddressController.find"
      }
    },
    "/customer-contacts/{id}": {
      "patch": {
        "x-controller-name": "CustomerContactController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerContactController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerContact PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerContactController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerContactController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerContactController"
        ],
        "responses": {
          "200": {
            "description": "CustomerContact model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerContact"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerContactController.findById"
      },
      "delete": {
        "x-controller-name": "CustomerContactController",
        "x-operation-name": "deleteById",
        "tags": [
          "CustomerContactController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerContact soft delete success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerContactController.deleteById"
      }
    },
    "/customer-contacts": {
      "post": {
        "x-controller-name": "CustomerContactController",
        "x-operation-name": "create",
        "tags": [
          "CustomerContactController"
        ],
        "responses": {
          "200": {
            "description": "CustomerContact model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerContact"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "name",
                  "phone",
                  "relationship"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerContactController.create"
      },
      "get": {
        "x-controller-name": "CustomerContactController",
        "x-operation-name": "find",
        "tags": [
          "CustomerContactController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerContact model instances for a customer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerContact"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerContactController.find"
      }
    },
    "/customer-discount-groups/count": {
      "get": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "count",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "200": {
            "description": "CustomerDiscountGroup model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerDiscountGroup.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerDiscountGroup>"
                }
              }
            }
          }
        ],
        "operationId": "CustomerDiscountGroupController.count"
      }
    },
    "/customer-discount-groups/{id}": {
      "patch": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerDiscountGroup PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerDiscountGroupPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerDiscountGroupController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "200": {
            "description": "CustomerDiscountGroup model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDiscountGroupWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDiscountGroup.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CustomerDiscountGroupController.findById"
      }
    },
    "/customer-discount-groups": {
      "post": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "create",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "200": {
            "description": "CustomerDiscountGroup model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDiscountGroup"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerDiscountGroup"
              }
            }
          }
        },
        "operationId": "CustomerDiscountGroupController.create"
      },
      "patch": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "updateAll",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "200": {
            "description": "CustomerDiscountGroup PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerDiscountGroup.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerDiscountGroup>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerDiscountGroupPartial"
              }
            }
          }
        },
        "operationId": "CustomerDiscountGroupController.updateAll"
      },
      "get": {
        "x-controller-name": "CustomerDiscountGroupController",
        "x-operation-name": "find",
        "tags": [
          "CustomerDiscountGroupController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerDiscountGroup model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerDiscountGroupWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDiscountGroup.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CustomerDiscountGroupController.find"
      }
    },
    "/customer-labels/count": {
      "get": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "count",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "200": {
            "description": "CustomerLabel model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerLabel.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerLabel>"
                }
              }
            }
          }
        ],
        "operationId": "CustomerLabelController.count"
      }
    },
    "/customer-labels/{id}": {
      "patch": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerLabel PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLabelPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerLabelController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "200": {
            "description": "CustomerLabel model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabelWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabel.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CustomerLabelController.findById"
      }
    },
    "/customer-labels": {
      "post": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "create",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "200": {
            "description": "CustomerLabel model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabel"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerLabel"
              }
            }
          }
        },
        "operationId": "CustomerLabelController.create"
      },
      "patch": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "updateAll",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "200": {
            "description": "CustomerLabel PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerLabel.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerLabel>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLabelPartial"
              }
            }
          }
        },
        "operationId": "CustomerLabelController.updateAll"
      },
      "get": {
        "x-controller-name": "CustomerLabelController",
        "x-operation-name": "find",
        "tags": [
          "CustomerLabelController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerLabel model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerLabelWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabel.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CustomerLabelController.find"
      }
    },
    "/customer-phones/{id}": {
      "patch": {
        "x-controller-name": "CustomerPhoneController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerPhoneController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerPhone PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isWhatsappNumber": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerPhoneController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerPhoneController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerPhoneController"
        ],
        "responses": {
          "200": {
            "description": "CustomerPhone model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPhone"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerPhoneController.findById"
      },
      "delete": {
        "x-controller-name": "CustomerPhoneController",
        "x-operation-name": "deleteById",
        "tags": [
          "CustomerPhoneController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerPhone soft delete success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerPhoneController.deleteById"
      }
    },
    "/customer-phones": {
      "post": {
        "x-controller-name": "CustomerPhoneController",
        "x-operation-name": "create",
        "tags": [
          "CustomerPhoneController"
        ],
        "responses": {
          "200": {
            "description": "CustomerPhone model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPhone"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "countryCode",
                  "phone"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isWhatsappNumber": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerPhoneController.create"
      },
      "get": {
        "x-controller-name": "CustomerPhoneController",
        "x-operation-name": "find",
        "tags": [
          "CustomerPhoneController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerPhone model instances for a customer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerPhone"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerPhoneController.find"
      }
    },
    "/customer-type-masters/count": {
      "get": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "count",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "200": {
            "description": "CustomerTypeMaster model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerTypeMaster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerTypeMaster>"
                }
              }
            }
          }
        ],
        "operationId": "CustomerTypeMasterController.count"
      }
    },
    "/customer-type-masters/{id}": {
      "patch": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CustomerTypeMaster PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerTypeMasterPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerTypeMasterController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "200": {
            "description": "CustomerTypeMaster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTypeMasterWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTypeMaster.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CustomerTypeMasterController.findById"
      }
    },
    "/customer-type-masters": {
      "post": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "create",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "200": {
            "description": "CustomerTypeMaster model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTypeMaster"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCustomerTypeMaster"
              }
            }
          }
        },
        "operationId": "CustomerTypeMasterController.create"
      },
      "patch": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "updateAll",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "200": {
            "description": "CustomerTypeMaster PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CustomerTypeMaster.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CustomerTypeMaster>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerTypeMasterPartial"
              }
            }
          }
        },
        "operationId": "CustomerTypeMasterController.updateAll"
      },
      "get": {
        "x-controller-name": "CustomerTypeMasterController",
        "x-operation-name": "find",
        "tags": [
          "CustomerTypeMasterController"
        ],
        "responses": {
          "200": {
            "description": "Array of CustomerTypeMaster model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerTypeMasterWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTypeMaster.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CustomerTypeMasterController.find"
      }
    },
    "/customers/count": {
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "count",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Count of Customer model instances matching the same filters as find()"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "labelId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerController.count"
      }
    },
    "/customers/{customerId}/club-pay": {
      "post": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "clubPay",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Club & Pay payment applied"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "paymentMode"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "paymentMode": {
                    "type": "string"
                  },
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "referenceNumber": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerBillingController.clubPay"
      }
    },
    "/customers/{id}/invoice-span": {
      "patch": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "setInvoiceSpan",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer on-account invoice span override set/cleared"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invoiceSpanDays": {
                    "type": "number",
                    "nullable": true,
                    "description": "Null clears the override — falls back to the global default."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerBillingController.setInvoiceSpan"
      }
    },
    "/customers/{customerId}/on-account/billable-orders": {
      "get": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "billableOrders",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Billable, not-yet-invoiced orders for an on-account customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerBillingController.billableOrders"
      }
    },
    "/customers/{customerId}/on-account/generate-invoice": {
      "post": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "generateOnAccountInvoice",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Consolidated invoice generated for the selected on-account orders"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "orderIds"
                ],
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "minItems": 1
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerBillingController.generateOnAccountInvoice"
      }
    },
    "/customers/{customerId}/on-account/invoices": {
      "get": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "onAccountInvoiceHistory",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All consolidated on-account invoices for the customer, most recent first"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerBillingController.onAccountInvoiceHistory"
      }
    },
    "/customers/{customerId}/pending-invoices": {
      "get": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "pendingInvoices",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All unpaid or partially-paid invoices for the customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerBillingController.pendingInvoices"
      }
    },
    "/customers/{customerId}/pos-summary": {
      "get": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "posSummary",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "POS counter summary for customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerBillingController.posSummary"
      }
    },
    "/customers/{id}/preferences/history": {
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "getPreferencesHistory",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Audit trail of every change to a customer's preferences, newest first",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerPreferenceHistory"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerController.getPreferencesHistory"
      }
    },
    "/customers/{id}/preferences": {
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "getPreferences",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "A customer's stored preferences — read-only here, customers manage their own via /profile/customer/preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPreference"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerController.getPreferences"
      }
    },
    "/customers/{id}": {
      "patch": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "updateById",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "oneOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "customerEntityType": {
                    "type": "string",
                    "enum": [
                      "individual",
                      "business"
                    ]
                  },
                  "isOnAccountEligible": {
                    "type": "boolean"
                  },
                  "customerLabelIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "customerGroupId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "gstNumber": {
                    "type": "string"
                  },
                  "panNumber": {
                    "type": "string"
                  },
                  "companyName": {
                    "type": "string"
                  },
                  "preferredPaymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "loyaltyPoints": {
                    "type": "number"
                  },
                  "defaultDiscountType": {
                    "type": "string"
                  },
                  "defaultDiscountValue": {
                    "type": "number"
                  },
                  "preferredStoreId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "sensitivityScore": {
                    "type": "number"
                  },
                  "persona": {
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "professional",
                          "family",
                          "student",
                          "senior"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "notes": {
                    "type": "string"
                  },
                  "statusChangeRemark": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerController.updateById"
      },
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Customer model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CustomerController.findById"
      }
    },
    "/customers": {
      "post": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "create",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firstName",
                  "countryCode",
                  "phone"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6
                  },
                  "customerEntityType": {
                    "type": "string",
                    "enum": [
                      "individual",
                      "business"
                    ]
                  },
                  "isOnAccountEligible": {
                    "type": "boolean"
                  },
                  "customerLabelIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "customerGroupId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "gstNumber": {
                    "type": "string"
                  },
                  "panNumber": {
                    "type": "string"
                  },
                  "companyName": {
                    "type": "string"
                  },
                  "preferredPaymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "preferredStoreId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "sensitivityScore": {
                    "type": "number"
                  },
                  "persona": {
                    "type": "string",
                    "enum": [
                      "professional",
                      "family",
                      "student",
                      "senior"
                    ]
                  },
                  "notes": {
                    "type": "string"
                  },
                  "defaultDiscountType": {
                    "type": "string"
                  },
                  "defaultDiscountValue": {
                    "type": "number"
                  },
                  "referralCode": {
                    "type": "string",
                    "description": "An influencer-shared referral code, if this customer mentioned one — auto-applies that coupon to their first order."
                  },
                  "linkExistingAccount": {
                    "type": "boolean",
                    "description": "Must be explicitly true to attach this customer profile to an existing login found by phone/email (e.g. an employee who is also a customer). Without it, a match returns a 409 so the operator can confirm before accounts are linked."
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerController.create"
      },
      "get": {
        "x-controller-name": "CustomerController",
        "x-operation-name": "find",
        "tags": [
          "CustomerController"
        ],
        "responses": {
          "200": {
            "description": "Array of Customer model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Customer.Filter1"
                }
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "labelId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerController.find"
      }
    },
    "/damage-types/count": {
      "get": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "count",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "200": {
            "description": "DamageType model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DamageType.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DamageType>"
                }
              }
            }
          }
        ],
        "operationId": "DamageTypeController.count"
      }
    },
    "/damage-types/{id}": {
      "patch": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "updateById",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DamageType PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DamageTypePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DamageTypeController.updateById"
      },
      "get": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "findById",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "200": {
            "description": "DamageType model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DamageTypeWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DamageType.Filter"
                }
              }
            }
          }
        ],
        "operationId": "DamageTypeController.findById"
      }
    },
    "/damage-types": {
      "post": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "create",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "200": {
            "description": "DamageType model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DamageType"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDamageType"
              }
            }
          }
        },
        "operationId": "DamageTypeController.create"
      },
      "patch": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "updateAll",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "200": {
            "description": "DamageType PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DamageType.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DamageType>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DamageTypePartial"
              }
            }
          }
        },
        "operationId": "DamageTypeController.updateAll"
      },
      "get": {
        "x-controller-name": "DamageTypeController",
        "x-operation-name": "find",
        "tags": [
          "DamageTypeController"
        ],
        "responses": {
          "200": {
            "description": "Array of DamageType model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DamageTypeWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DamageType.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "DamageTypeController.find"
      }
    },
    "/dashboard/lists/{list}": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "listPage",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The next page of one dashboard list"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "list",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "DashboardController.listPage"
      }
    },
    "/dashboard/live": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "live",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Live store figures and first page of each live list"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "DashboardController.live"
      }
    },
    "/dashboard/store-summary": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "storeSummary",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Every store dashboard panel in one payload"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "DashboardController.storeSummary"
      }
    },
    "/dashboard/window": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "window",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Date-range store figures and first page of each range list"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "DashboardController.window"
      }
    },
    "/deliveries/stats": {
      "get": {
        "x-controller-name": "DeliveryController",
        "x-operation-name": "stats",
        "tags": [
          "DeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Summary counts by status"
                }
              }
            }
          }
        },
        "operationId": "DeliveryController.stats"
      }
    },
    "/deliveries/{id}/cancel": {
      "post": {
        "x-controller-name": "DeliveryController",
        "x-operation-name": "cancel",
        "tags": [
          "DeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery cancelled, bag released"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DeliveryController.cancel"
      }
    },
    "/deliveries/{id}": {
      "get": {
        "x-controller-name": "DeliveryController",
        "x-operation-name": "findById",
        "tags": [
          "DeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery detail with orders and custody trail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DeliveryController.findById"
      }
    },
    "/deliveries": {
      "get": {
        "x-controller-name": "DeliveryController",
        "x-operation-name": "find",
        "tags": [
          "DeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Deliveries, filtered by status/rider/store/date"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "riderId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "DeliveryController.find"
      }
    },
    "/delivery-type-configuration": {
      "post": {
        "x-controller-name": "DeliveryTypeConfigurationController",
        "x-operation-name": "create",
        "tags": [
          "DeliveryTypeConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "DeliveryTypeConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryTypeConfiguration"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDeliveryTypeConfiguration"
              }
            }
          }
        },
        "operationId": "DeliveryTypeConfigurationController.create"
      },
      "patch": {
        "x-controller-name": "DeliveryTypeConfigurationController",
        "x-operation-name": "update",
        "tags": [
          "DeliveryTypeConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DeliveryTypeConfiguration PATCH success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryTypeConfigurationPartial"
              }
            }
          }
        },
        "operationId": "DeliveryTypeConfigurationController.update"
      },
      "get": {
        "x-controller-name": "DeliveryTypeConfigurationController",
        "x-operation-name": "find",
        "tags": [
          "DeliveryTypeConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "DeliveryTypeConfiguration singleton",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryTypeConfiguration"
                }
              }
            }
          }
        },
        "operationId": "DeliveryTypeConfigurationController.find"
      }
    },
    "/documents/invoices/{fileName}": {
      "get": {
        "x-controller-name": "CustomerDocumentController",
        "x-operation-name": "invoice",
        "tags": [
          "CustomerDocumentController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "expires",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "signature",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerDocumentController.invoice"
      }
    },
    "/documents/order-summaries/{fileName}": {
      "get": {
        "x-controller-name": "CustomerDocumentController",
        "x-operation-name": "orderSummary",
        "tags": [
          "CustomerDocumentController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "expires",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "signature",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerDocumentController.orderSummary"
      }
    },
    "/employees/count": {
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "count",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Count of Employee model instances matching the same filters as find()"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "EmployeeController.count"
      }
    },
    "/employees/{id}": {
      "patch": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "updateById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6,
                    "description": "Resets the login password"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "employeeCode": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "joiningDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "reportingManagerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "clusterId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "regionId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "additionalStoreIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "additionalClusterIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "additionalRegionIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "roleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "linkExistingAccount": {
                    "type": "boolean",
                    "description": "Explicit confirmation to link this employee to an existing login."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmployeeController.updateById"
      },
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "findById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployeeWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee.Filter"
                }
              }
            }
          }
        ],
        "operationId": "EmployeeController.findById"
      }
    },
    "/employees": {
      "post": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "create",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "countryCode",
                  "phone",
                  "password",
                  "roleValues",
                  "firstName",
                  "lastName",
                  "addressLine1",
                  "city",
                  "state",
                  "pincode"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 6
                  },
                  "roleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "joiningDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "reportingManagerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "clusterId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "regionId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "additionalStoreIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "additionalClusterIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "additionalRegionIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "linkExistingAccount": {
                    "type": "boolean",
                    "description": "Must be explicitly true to attach this employee profile to an existing login found by phone/email (e.g. a customer who is now staff). Without it, a match returns a 409 so the operator can confirm before accounts are linked."
                  }
                }
              }
            }
          }
        },
        "operationId": "EmployeeController.create"
      },
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "find",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Array of Employee model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee.Filter1"
                }
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "EmployeeController.find"
      }
    },
    "/files/file/{path}/{fileName}": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "downloadFile",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.downloadFile"
      }
    },
    "/files/file/{fileName}": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "downloadFileOutsideFolder",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.downloadFileOutsideFolder"
      }
    },
    "/files": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "uploadToRoot",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FileUploadController.uploadToRoot"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "FileUploadController.uploadToRoot"
      }
    },
    "/garments/lookup": {
      "get": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "lookupGarment",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Full garment details by tag number or UUID — used by scan/QR lookup"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GarmentController.lookupGarment"
      }
    },
    "/garments/process/config": {
      "get": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "getProcessingConfig",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Processing pipeline configuration"
                }
              }
            }
          }
        },
        "operationId": "GarmentProcessController.getProcessingConfig"
      }
    },
    "/garments/validate-scan": {
      "get": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "validateScan",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Scan validation result"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GarmentActionsController.validateScan"
      }
    },
    "/garments/{id}/action/mark-damaged": {
      "post": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "markDamaged",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Damaged-in-process report raised"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.markDamaged"
      }
    },
    "/garments/{id}/action/reprocess": {
      "post": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "requestReprocess",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment sent for reprocessing; audit request recorded"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.requestReprocess"
      }
    },
    "/garments/{id}/action/return": {
      "post": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "requestReturn",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Return approval request raised"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.requestReturn"
      }
    },
    "/garments/{id}/action/risk-approval": {
      "post": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "requestRiskApproval",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Process-at-risk approval request raised, garment put on hold"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.requestRiskApproval"
      }
    },
    "/garments/{id}/action/upgrade": {
      "post": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "requestUpgrade",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Upgrade approval request raised, garment put on hold"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "toServiceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "additionalServiceIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.requestUpgrade"
      }
    },
    "/garments/{id}/change-bag": {
      "patch": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "changeBag",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment bag updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bagId"
                ],
                "properties": {
                  "bagId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentActionsController.changeBag"
      }
    },
    "/garments/{garmentId}/damages/{damageId}/images": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "addDamageImage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Image added to damage"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "damageId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mediaId"
                ],
                "properties": {
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "GarmentController.addDamageImage"
      }
    },
    "/garments/{garmentId}/damages/{damageId}": {
      "delete": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "removeDamage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Damage removed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "damageId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentController.removeDamage"
      }
    },
    "/garments/{garmentId}/damages": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "addDamage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Damage recorded"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "damageTypeId"
                ],
                "properties": {
                  "damageTypeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Already-uploaded media IDs for damage photos"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentController.addDamage"
      }
    },
    "/garments/{garmentId}/images/{imageId}": {
      "delete": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "removeImage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Image removed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "imageId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentController.removeImage"
      }
    },
    "/garments/{garmentId}/images": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "addImage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Image attached to garment"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mediaId",
                  "imageType"
                ],
                "properties": {
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "imageType": {
                    "type": "string",
                    "enum": [
                      "before",
                      "after",
                      "damage",
                      "stain",
                      "general"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentController.addImage"
      }
    },
    "/garments/{id}/mark-ready-dispatch": {
      "patch": {
        "x-controller-name": "GarmentActionsController",
        "x-operation-name": "markReadyDispatch",
        "tags": [
          "GarmentActionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment flagged for dispatch"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentActionsController.markReadyDispatch"
      }
    },
    "/garments/{id}/process/advance": {
      "post": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "advanceProcess",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Process advanced one step"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "qrCode": {
                    "type": "string",
                    "description": "Scanned QR code value. Required when QR_SCAN_REQUIRED=true."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentProcessController.advanceProcess"
      }
    },
    "/garments/{id}/process/complete-all": {
      "post": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "completeAllProcesses",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All remaining process steps completed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "qrCode": {
                    "type": "string",
                    "description": "Scanned QR code value. Required when QR_SCAN_REQUIRED=true."
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "GarmentProcessController.completeAllProcesses"
      }
    },
    "/garments/{id}/process/fast-track-ready": {
      "post": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "fastTrackToReady",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment fast-tracked straight to ready (processing-disabled bypass)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "qrCode": {
                    "type": "string",
                    "description": "Scanned QR/tag value. Required when QR_SCAN_REQUIRED=true."
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "GarmentProcessController.fastTrackToReady"
      }
    },
    "/garments/{id}/process/init": {
      "post": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "initProcess",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Process initialised — pending log rows created for all steps"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentProcessController.initProcess"
      }
    },
    "/garments/{id}/process/reverse": {
      "post": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "reverseStep",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Last completed step reversed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentProcessController.reverseStep"
      }
    },
    "/garments/{id}/process-status": {
      "get": {
        "x-controller-name": "GarmentProcessController",
        "x-operation-name": "getProcessStatus",
        "tags": [
          "GarmentProcessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Full process status for a garment — all services and steps"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentProcessController.getProcessStatus"
      }
    },
    "/garments/{garmentId}/stains/{stainId}/images": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "addStainImage",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Image added to stain"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "stainId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mediaId"
                ],
                "properties": {
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "GarmentController.addStainImage"
      }
    },
    "/garments/{garmentId}/stains/{stainId}": {
      "delete": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "removeStain",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Stain removed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "stainId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentController.removeStain"
      }
    },
    "/garments/{garmentId}/stains": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "addStain",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Stain recorded"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "stainId"
                ],
                "properties": {
                  "stainId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Already-uploaded media IDs for stain photos"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentController.addStain"
      }
    },
    "/garments/{garmentId}/status": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "changeGarmentStatus",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment status updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "received",
                      "in_inspection",
                      "in_process",
                      "quality_check",
                      "ready",
                      "out_for_delivery",
                      "delivered",
                      "on_hold",
                      "damaged",
                      "returned_to_customer"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentController.changeGarmentStatus"
      }
    },
    "/garments/{garmentId}": {
      "patch": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "updateGarment",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "brandId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "colorId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "qrCode": {
                    "type": "string"
                  },
                  "customerRemarks": {
                    "type": "string"
                  },
                  "inspectionRemarks": {
                    "type": "string"
                  },
                  "qrPrintCount": {
                    "type": "number"
                  },
                  "isTagPrinted": {
                    "type": "boolean"
                  },
                  "unprocessedHandlingMode": {
                    "type": "string",
                    "enum": [
                      "customer_takes_responsibility",
                      "customer_informed",
                      "no_guarantee"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GarmentController.updateGarment"
      },
      "get": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "getGarment",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment details"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentController.getGarment"
      }
    },
    "/garments": {
      "get": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "searchGarments",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Search garments by filter"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "GarmentController.searchGarments"
      }
    },
    "/gst-tax-configuration": {
      "post": {
        "x-controller-name": "GstTaxConfigurationController",
        "x-operation-name": "create",
        "tags": [
          "GstTaxConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "GstTaxConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GstTaxConfiguration"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewGstTaxConfiguration"
              }
            }
          }
        },
        "operationId": "GstTaxConfigurationController.create"
      },
      "patch": {
        "x-controller-name": "GstTaxConfigurationController",
        "x-operation-name": "update",
        "tags": [
          "GstTaxConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "GstTaxConfiguration PATCH success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GstTaxConfigurationPartial"
              }
            }
          }
        },
        "operationId": "GstTaxConfigurationController.update"
      },
      "get": {
        "x-controller-name": "GstTaxConfigurationController",
        "x-operation-name": "find",
        "tags": [
          "GstTaxConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "GstTaxConfiguration singleton",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GstTaxConfiguration"
                }
              }
            }
          }
        },
        "operationId": "GstTaxConfigurationController.find"
      }
    },
    "/invoices/count": {
      "get": {
        "x-controller-name": "InvoiceController",
        "x-operation-name": "count",
        "tags": [
          "InvoiceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Count of Invoice records matching the same filters as find()"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InvoiceController.count"
      }
    },
    "/invoices/{invoiceId}/consolidated-orders": {
      "get": {
        "x-controller-name": "CustomerBillingController",
        "x-operation-name": "consolidatedInvoiceOrders",
        "tags": [
          "CustomerBillingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Orders linked to a consolidated on-account invoice"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerBillingController.consolidatedInvoiceOrders"
      }
    },
    "/invoices": {
      "get": {
        "x-controller-name": "InvoiceController",
        "x-operation-name": "find",
        "tags": [
          "InvoiceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of Invoice records, enriched with order/customer summary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InvoiceController.find"
      }
    },
    "/item-categories/count": {
      "get": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "count",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ItemCategory model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ItemCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ItemCategory>"
                }
              }
            }
          }
        ],
        "operationId": "ItemCategoryController.count"
      }
    },
    "/item-categories/{id}": {
      "patch": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "updateById",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ItemCategory PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ItemCategoryController.updateById"
      },
      "get": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "findById",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ItemCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategoryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategory.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ItemCategoryController.findById"
      }
    },
    "/item-categories": {
      "post": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "create",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ItemCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategory"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewItemCategory"
              }
            }
          }
        },
        "operationId": "ItemCategoryController.create"
      },
      "patch": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "updateAll",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ItemCategory PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ItemCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ItemCategory>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCategoryPartial"
              }
            }
          }
        },
        "operationId": "ItemCategoryController.updateAll"
      },
      "get": {
        "x-controller-name": "ItemCategoryController",
        "x-operation-name": "find",
        "tags": [
          "ItemCategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of ItemCategory model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemCategoryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategory.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ItemCategoryController.find"
      }
    },
    "/items/count": {
      "get": {
        "x-controller-name": "ItemController",
        "x-operation-name": "count",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "200": {
            "description": "Item model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Item.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Item>"
                }
              }
            }
          }
        ],
        "operationId": "ItemController.count"
      }
    },
    "/items/{id}": {
      "patch": {
        "x-controller-name": "ItemController",
        "x-operation-name": "updateById",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Item PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ItemController.updateById"
      },
      "get": {
        "x-controller-name": "ItemController",
        "x-operation-name": "findById",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "200": {
            "description": "Item model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Item.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ItemController.findById"
      }
    },
    "/items": {
      "post": {
        "x-controller-name": "ItemController",
        "x-operation-name": "create",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "200": {
            "description": "Item model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Item"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewItem"
              }
            }
          }
        },
        "operationId": "ItemController.create"
      },
      "patch": {
        "x-controller-name": "ItemController",
        "x-operation-name": "updateAll",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "200": {
            "description": "Item PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Item.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Item>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemPartial"
              }
            }
          }
        },
        "operationId": "ItemController.updateAll"
      },
      "get": {
        "x-controller-name": "ItemController",
        "x-operation-name": "find",
        "tags": [
          "ItemController"
        ],
        "responses": {
          "200": {
            "description": "Array of Item model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Item.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ItemController.find"
      }
    },
    "/master-data/version": {
      "get": {
        "x-controller-name": "MasterDataVersionController",
        "x-operation-name": "getVersion",
        "tags": [
          "MasterDataVersionController"
        ],
        "responses": {
          "200": {
            "description": "Fingerprint of the master data the admin panel caches",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "version": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "MasterDataVersionController.getVersion"
      }
    },
    "/on-account-configuration": {
      "post": {
        "x-controller-name": "OnAccountConfigurationController",
        "x-operation-name": "create",
        "tags": [
          "OnAccountConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "OnAccountConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnAccountConfiguration"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOnAccountConfiguration"
              }
            }
          }
        },
        "operationId": "OnAccountConfigurationController.create"
      },
      "patch": {
        "x-controller-name": "OnAccountConfigurationController",
        "x-operation-name": "update",
        "tags": [
          "OnAccountConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OnAccountConfiguration PATCH success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnAccountConfigurationPartial"
              }
            }
          }
        },
        "operationId": "OnAccountConfigurationController.update"
      },
      "get": {
        "x-controller-name": "OnAccountConfigurationController",
        "x-operation-name": "find",
        "tags": [
          "OnAccountConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "OnAccountConfiguration singleton",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnAccountConfiguration"
                }
              }
            }
          }
        },
        "operationId": "OnAccountConfigurationController.find"
      }
    },
    "/order-labels/count": {
      "get": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "count",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "200": {
            "description": "OrderLabel model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OrderLabel.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OrderLabel>"
                }
              }
            }
          }
        ],
        "operationId": "OrderLabelController.count"
      }
    },
    "/order-labels/{id}": {
      "patch": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "updateById",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OrderLabel PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderLabelPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderLabelController.updateById"
      },
      "get": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "findById",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "200": {
            "description": "OrderLabel model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLabelWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLabel.Filter"
                }
              }
            }
          }
        ],
        "operationId": "OrderLabelController.findById"
      }
    },
    "/order-labels": {
      "post": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "create",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "200": {
            "description": "OrderLabel model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLabel"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOrderLabel"
              }
            }
          }
        },
        "operationId": "OrderLabelController.create"
      },
      "patch": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "updateAll",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "200": {
            "description": "OrderLabel PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OrderLabel.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OrderLabel>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderLabelPartial"
              }
            }
          }
        },
        "operationId": "OrderLabelController.updateAll"
      },
      "get": {
        "x-controller-name": "OrderLabelController",
        "x-operation-name": "find",
        "tags": [
          "OrderLabelController"
        ],
        "responses": {
          "200": {
            "description": "Array of OrderLabel model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderLabelWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLabel.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "OrderLabelController.find"
      }
    },
    "/orders/delivery-assignment": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "assignDelivery",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Orders assigned to a rider for delivery"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "orderIds",
                  "riderId",
                  "deliverySlot",
                  "deliveryDate"
                ],
                "properties": {
                  "orderIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "riderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "deliverySlot": {
                    "type": "string"
                  },
                  "deliverySlotId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "If given, overrides deliverySlot with this slot's label."
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "deliveryAddressId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "deliveryAddress": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "bagId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Optional. When given, attaches a custody bag to the rider-visible Delivery run."
                  }
                }
              }
            }
          }
        },
        "operationId": "OrderController.assignDelivery"
      }
    },
    "/orders/export": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "exportOrders",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All matching Manage Ticket records within the caller store scope"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "customerName": {
                      "type": "string"
                    },
                    "orderId": {
                      "type": "string"
                    },
                    "invoiceNumber": {
                      "type": "string"
                    },
                    "placedBy": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "orderType": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "paymentStatus": {
                      "type": "string"
                    },
                    "dateFrom": {
                      "type": "string",
                      "anyOf": [
                        {
                          "format": "date"
                        },
                        {
                          "format": "date-time"
                        }
                      ]
                    },
                    "dateTo": {
                      "type": "string",
                      "anyOf": [
                        {
                          "format": "date"
                        },
                        {
                          "format": "date-time"
                        }
                      ]
                    },
                    "storeId": {
                      "type": "string"
                    },
                    "clusterId": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        ],
        "operationId": "OrderController.exportOrders"
      }
    },
    "/orders/on-account-credit/{customerId}": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "onAccountCreditStatus",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "On-account credit limit/used/remaining for a customer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.onAccountCreditStatus"
      }
    },
    "/orders/wallet-full-payment-preview": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "walletFullPaymentPreviewForNewOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Whether paying a new ticket fully via wallet would get a discount"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "subtotal"
                ],
                "properties": {
                  "subtotal": {
                    "type": "number"
                  },
                  "discountAmount": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "operationId": "OrderController.walletFullPaymentPreviewForNewOrder"
      }
    },
    "/orders/{id}/activity-log": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "activityLog",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Unified activity log for an order and its garments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.activityLog"
      }
    },
    "/orders/{orderId}/challan/generate": {
      "post": {
        "x-controller-name": "ChallanController",
        "x-operation-name": "generate",
        "tags": [
          "ChallanController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Challan generated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChallanController.generate"
      }
    },
    "/orders/{orderId}/challan/print": {
      "patch": {
        "x-controller-name": "ChallanController",
        "x-operation-name": "markPrinted",
        "tags": [
          "ChallanController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Challan marked as printed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChallanController.markPrinted"
      }
    },
    "/orders/{orderId}/challan": {
      "get": {
        "x-controller-name": "ChallanController",
        "x-operation-name": "getByOrder",
        "tags": [
          "ChallanController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Challan for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChallanController.getByOrder"
      }
    },
    "/orders/{orderId}/credit-note": {
      "get": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "getCreditNote",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Credit note for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesReturnController.getCreditNote"
      }
    },
    "/orders/{orderId}/damaged-items/{garmentId}/refund-due": {
      "post": {
        "x-controller-name": "RefundController",
        "x-operation-name": "prepareDamagedRefund",
        "tags": [
          "RefundController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Prepare an approved damaged item for refund payout"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "garmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RefundController.prepareDamagedRefund"
      }
    },
    "/orders/{id}/delivery-management": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "deliveryManagementDetail",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery Management ticket detail with images"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.deliveryManagementDetail"
      }
    },
    "/orders/{id}/delivery-return": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "deliveryReturn",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order ready for redispatch; delivery stop marked return to store"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "remarks"
                ],
                "properties": {
                  "remarks": {
                    "type": "string",
                    "description": "Why the delivery attempt failed / the order came back to the store."
                  },
                  "reasons": {
                    "type": "array",
                    "description": "Optional structured reasons, alongside remarks — see DeliveryFailureReason.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "customer_not_answering",
                        "not_approving_entry",
                        "other"
                      ]
                    }
                  },
                  "otherReason": {
                    "type": "string",
                    "description": "Required when reasons includes \"other\"."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.deliveryReturn"
      }
    },
    "/orders/{id}/draft": {
      "put": {
        "x-controller-name": "OrderController",
        "x-operation-name": "saveDraftOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Draft ticket saved"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "orderType",
                  "orderLabelIds",
                  "items",
                  "additionalChargeIds",
                  "couponCodes",
                  "paymentIsOnAccount"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "orderType": {
                    "type": "string",
                    "enum": [
                      "store_dropoff",
                      "store_dropoff_home_delivery",
                      "home_pickup",
                      "home_pickup_home_delivery"
                    ]
                  },
                  "orderLabelIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "specialInstructions": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "deliveryAddressId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "deliveryAddress": {
                    "type": "string"
                  },
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "express",
                      "lightning"
                    ]
                  },
                  "deliveryTypePercentage": {
                    "type": "number",
                    "minimum": 0
                  },
                  "expressMultiplier": {
                    "type": "number",
                    "minimum": 1
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "items": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "itemId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number",
                          "minimum": 1
                        },
                        "specialInstructions": {
                          "type": "string"
                        },
                        "specialInstructionMediaIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "remarks": {
                          "type": "string"
                        },
                        "additionalChargeIds": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "type": "string",
                                "format": "uuid"
                              },
                              {
                                "type": "object",
                                "required": [
                                  "additionalChargeId",
                                  "quantity"
                                ],
                                "properties": {
                                  "additionalChargeId": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "quantity": {
                                    "type": "integer",
                                    "minimum": 1
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "additionalServiceIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "description": "Additional services selected for this item"
                        },
                        "units": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "brandId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "colorId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "length": {
                                "type": "number",
                                "minimum": 0
                              },
                              "width": {
                                "type": "number",
                                "minimum": 0
                              },
                              "additionalServiceIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "additionalChargeIds": {
                                "type": "array",
                                "items": {
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    {
                                      "type": "object",
                                      "required": [
                                        "additionalChargeId",
                                        "quantity"
                                      ],
                                      "properties": {
                                        "additionalChargeId": {
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "quantity": {
                                          "type": "integer",
                                          "minimum": 1
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "instructions": {
                                "type": "string"
                              },
                              "itemPhotoMediaIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "stainMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "stainId"
                                  ],
                                  "properties": {
                                    "stainId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "damageMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "damageId"
                                  ],
                                  "properties": {
                                    "damageId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "qrPrintCount": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "rejectedAtIntake": {
                                "type": "boolean"
                              },
                              "rejectionReason": {
                                "type": "string"
                              },
                              "rejectionRemarks": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string",
                                "description": "Garment id of an existing piece; omit for a piece added in this edit."
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "additionalChargeIds": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "string",
                          "format": "uuid"
                        },
                        {
                          "type": "object",
                          "required": [
                            "additionalChargeId",
                            "quantity"
                          ],
                          "properties": {
                            "additionalChargeId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "quantity": {
                              "type": "integer",
                              "minimum": 1
                            }
                          }
                        }
                      ]
                    }
                  },
                  "couponCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "customerContactId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "familyGroupMemberId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "paymentIsOnAccount": {
                    "type": "boolean"
                  },
                  "draftEditorState": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.saveDraftOrder"
      }
    },
    "/orders/{orderId}/garments": {
      "get": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "listGarments",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garments for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GarmentController.listGarments"
      }
    },
    "/orders/{id}/handover": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "handover",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order handed over in store and marked delivered"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "collectorType"
                ],
                "properties": {
                  "collectorType": {
                    "type": "string",
                    "enum": [
                      "self",
                      "contact",
                      "family_member",
                      "other",
                      "guard",
                      "at_door"
                    ]
                  },
                  "customerContactId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "familyGroupMemberId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "collectorName": {
                    "type": "string"
                  },
                  "collectorPhone": {
                    "type": "string"
                  },
                  "collectorRelationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "saveAsContact": {
                    "type": "boolean"
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.handover"
      },
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getHandover",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Handover record for an order (null if not handed over)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getHandover"
      }
    },
    "/orders/{id}/inspection/complete": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "completeCounterInspection",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All items inspected at the counter — order moved to processing"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.completeCounterInspection"
      }
    },
    "/orders/{id}/inspection/mark": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "markUnitsInspected",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Record which units were inspected at the counter"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "units"
                ],
                "properties": {
                  "units": {
                    "type": "array",
                    "description": "Units inspected at the counter, identified by line and position",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "unitIndex"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "itemId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "unitIndex": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.markUnitsInspected"
      }
    },
    "/orders/{orderId}/intake-rejections": {
      "get": {
        "x-controller-name": "IntakeRejectionController",
        "x-operation-name": "listForOrder",
        "tags": [
          "IntakeRejectionController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Intake rejections for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IntakeRejectionController.listForOrder"
      }
    },
    "/orders/{orderId}/invoice/generate": {
      "post": {
        "x-controller-name": "InvoiceController",
        "x-operation-name": "generate",
        "tags": [
          "InvoiceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Invoice generated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceController.generate"
      }
    },
    "/orders/{orderId}/invoice/print": {
      "patch": {
        "x-controller-name": "InvoiceController",
        "x-operation-name": "markPrinted",
        "tags": [
          "InvoiceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Invoice marked as printed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceController.markPrinted"
      }
    },
    "/orders/{orderId}/invoice": {
      "get": {
        "x-controller-name": "InvoiceController",
        "x-operation-name": "getByOrder",
        "tags": [
          "InvoiceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Invoice for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvoiceController.getByOrder"
      }
    },
    "/orders/{orderId}/items/{orderItemId}/garments": {
      "post": {
        "x-controller-name": "GarmentController",
        "x-operation-name": "registerGarment",
        "tags": [
          "GarmentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Garment registered for order item"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderItemId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "brandId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "colorId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "qrCode": {
                    "type": "string"
                  },
                  "customerRemarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "GarmentController.registerGarment"
      }
    },
    "/orders/{orderId}/items/{orderItemId}/intake-reject": {
      "post": {
        "x-controller-name": "IntakeRejectionController",
        "x-operation-name": "rejectItem",
        "tags": [
          "IntakeRejectionController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Item flagged as rejected at intake"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderItemId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "enum": [
                      "customer_declined",
                      "wrong_item",
                      "too_damaged",
                      "not_accepted",
                      "other"
                    ]
                  },
                  "garmentId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "directReturn": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "IntakeRejectionController.rejectItem"
      }
    },
    "/orders/{orderId}/items/{orderItemId}/intake-resolve": {
      "post": {
        "x-controller-name": "IntakeRejectionController",
        "x-operation-name": "resolveRejection",
        "tags": [
          "IntakeRejectionController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Intake rejection resolved"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderItemId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "outcome"
                ],
                "properties": {
                  "outcome": {
                    "type": "string",
                    "enum": [
                      "process_anyway",
                      "upgrade",
                      "return_to_customer"
                    ]
                  },
                  "outcomeRemarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "IntakeRejectionController.resolveRejection"
      }
    },
    "/orders/{id}/items": {
      "put": {
        "x-controller-name": "OrderController",
        "x-operation-name": "updateOrderItems",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order items replaced, totals and garments reconciled"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "items"
                ],
                "properties": {
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "express",
                      "lightning"
                    ]
                  },
                  "deliveryTypePercentage": {
                    "type": "number",
                    "minimum": 0
                  },
                  "expressMultiplier": {
                    "type": "number",
                    "minimum": 0
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "items": {
                    "type": "array",
                    "description": "The complete desired item list. Lines missing from it are removed, so send the full cart, not a delta.",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "itemId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number",
                          "minimum": 1
                        },
                        "additionalServiceIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "additionalChargeIds": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "type": "string",
                                "format": "uuid"
                              },
                              {
                                "type": "object",
                                "required": [
                                  "additionalChargeId",
                                  "quantity"
                                ],
                                "properties": {
                                  "additionalChargeId": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "quantity": {
                                    "type": "integer",
                                    "minimum": 1
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "specialInstructions": {
                          "type": "string"
                        },
                        "specialInstructionMediaIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "remarks": {
                          "type": "string"
                        },
                        "units": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "brandId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "colorId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "length": {
                                "type": "number",
                                "minimum": 0
                              },
                              "width": {
                                "type": "number",
                                "minimum": 0
                              },
                              "additionalServiceIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "additionalChargeIds": {
                                "type": "array",
                                "items": {
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    {
                                      "type": "object",
                                      "required": [
                                        "additionalChargeId",
                                        "quantity"
                                      ],
                                      "properties": {
                                        "additionalChargeId": {
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "quantity": {
                                          "type": "integer",
                                          "minimum": 1
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "instructions": {
                                "type": "string"
                              },
                              "itemPhotoMediaIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "stainMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "stainId"
                                  ],
                                  "properties": {
                                    "stainId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "damageMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "damageId"
                                  ],
                                  "properties": {
                                    "damageId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "qrPrintCount": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "rejectedAtIntake": {
                                "type": "boolean"
                              },
                              "rejectionReason": {
                                "type": "string"
                              },
                              "rejectionRemarks": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string",
                                "description": "Garment id of an existing piece; omit for a piece added in this edit."
                              }
                            }
                          },
                          "description": "Optional per-piece selections, one per unit of quantity. Per-unit additionalServiceIds/additionalChargeIds override the line-level lists; without units every piece gets the line-level lists."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.updateOrderItems"
      }
    },
    "/orders/{id}/payments/{paymentId}": {
      "patch": {
        "x-controller-name": "OrderController",
        "x-operation-name": "correctPaymentMode",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment's mode corrected"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "paymentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "paymentMode",
                  "reason"
                ],
                "properties": {
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "reason": {
                    "type": "string",
                    "description": "Required — why this payment is being corrected."
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "OrderController.correctPaymentMode"
      }
    },
    "/orders/{id}/payments": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "addPayment",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment recorded against order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payment": {
                    "type": "object",
                    "required": [
                      "paymentMode",
                      "amount"
                    ],
                    "properties": {
                      "paymentMode": {
                        "type": "string",
                        "enum": [
                          "cash",
                          "upi",
                          "card",
                          "net_banking",
                          "bank_transfer",
                          "cheque",
                          "pdc",
                          "pay_later",
                          "on_account",
                          "gateway",
                          "wallet",
                          "pp_voucher"
                        ]
                      },
                      "amount": {
                        "type": "number",
                        "minimum": 0.01
                      },
                      "transactionReference": {
                        "type": "string"
                      },
                      "gatewayResponse": {
                        "type": "string"
                      }
                    }
                  },
                  "walletAmount": {
                    "type": "number",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.addPayment"
      },
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getPayments",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment transactions for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getPayments"
      }
    },
    "/orders/{orderId}/refunds-due": {
      "get": {
        "x-controller-name": "RefundController",
        "x-operation-name": "listForOrder",
        "tags": [
          "RefundController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All refunds due (any status) for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RefundController.listForOrder"
      }
    },
    "/orders/{id}/reprocess-request": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "requestReprocess",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reprocess request recorded and free ticket created"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "enum": [
                      "ironing_not_proper",
                      "stain_not_removed",
                      "odour_remaining",
                      "colour_faded",
                      "damage_found",
                      "wrong_item",
                      "incomplete_service",
                      "other"
                    ]
                  },
                  "remarks": {
                    "type": "string",
                    "description": "Required when reason is \"other\""
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "garmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Pieces to redo. Omit to send the whole order."
                  },
                  "contactChannel": {
                    "type": "string",
                    "enum": [
                      "in_store",
                      "phone",
                      "whatsapp",
                      "other"
                    ],
                    "description": "How the customer got in touch. The free ticket is created immediately. In-store pieces can begin processing; other channels need a pickup first."
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.requestReprocess"
      }
    },
    "/orders/{orderId}/sales-return": {
      "post": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "create",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales return created"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "preview",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "returnedItems": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "orderItemId": {
                          "type": "string"
                        },
                        "garmentId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "amount": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  "refundMethod": {
                    "type": "string",
                    "enum": [
                      "wallet",
                      "bank_account",
                      "cash"
                    ]
                  },
                  "cashShiftId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "bankDetails": {
                    "type": "object",
                    "properties": {
                      "accountHolderName": {
                        "type": "string"
                      },
                      "bankName": {
                        "type": "string"
                      },
                      "accountNumber": {
                        "type": "string"
                      },
                      "ifscCode": {
                        "type": "string"
                      },
                      "branchName": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "SalesReturnController.create"
      }
    },
    "/orders/{orderId}/sales-returns": {
      "get": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "listSalesReturns",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All sales returns for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesReturnController.listSalesReturns"
      }
    },
    "/orders/{id}/split": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "splitOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Split ready garments into a new sub-order dispatched immediately"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "garmentIds"
                ],
                "properties": {
                  "garmentIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "IDs of garments to split out into a sub-order"
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "New delivery date for the sub-order"
                  },
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "express",
                      "lightning"
                    ],
                    "description": "Legacy field; ignored for split pricing."
                  },
                  "applyDeliveryCharges": {
                    "type": "boolean",
                    "description": "Set false to keep the original tier when splitting through inspection."
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.splitOrder"
      }
    },
    "/orders/{id}/status": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "changeStatus",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order status changed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "confirmed",
                      "received_at_store",
                      "in_inspection",
                      "in_process",
                      "quality_check",
                      "ready",
                      "partially_dispatched",
                      "out_for_delivery",
                      "delivered",
                      "cancelled",
                      "on_hold",
                      "returned"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.changeStatus"
      }
    },
    "/orders/{id}/status-history": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "statusHistory",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order status change history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.statusHistory"
      }
    },
    "/orders/{id}/wallet-full-payment-preview": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "walletFullPaymentPreview",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Whether paying this order fully via wallet right now would get a discount"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.walletFullPaymentPreview"
      }
    },
    "/orders/{id}": {
      "patch": {
        "x-controller-name": "OrderController",
        "x-operation-name": "updateById",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "For an active rider run, reschedule with POST /orders/delivery-assignment."
                  },
                  "specialInstructions": {
                    "type": "string"
                  },
                  "specialInstructionMediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "orderLabelIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Replaces the order's labels wholesale. Omit to leave labels untouched; send [] to clear all of them."
                  },
                  "assignedRiderId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Use POST /orders/delivery-assignment instead; PATCH rejects this field."
                  },
                  "deliveryMethod": {
                    "type": "string",
                    "enum": [
                      "store_pickup",
                      "home_delivery"
                    ]
                  },
                  "deliverySlot": {
                    "type": "string",
                    "description": "For an active rider run, reschedule with POST /orders/delivery-assignment."
                  },
                  "deliverySlotId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Resolved into a frozen deliverySlot text snapshot on save."
                  },
                  "deliveryAddressId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Resolved into a frozen deliveryAddress text snapshot on save."
                  },
                  "deliveryAddress": {
                    "type": "string",
                    "description": "Raw display text, for callers with no addressId to resolve. Prefer deliveryAddressId when one is available — sending this alone clears deliveryAddressId rather than leaving it pointing at a stale address."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.updateById"
      },
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "findById",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order with items, charges, payments and status history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.findById"
      },
      "delete": {
        "x-controller-name": "OrderController",
        "x-operation-name": "deleteById",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order cancelled and soft-deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.deleteById"
      }
    },
    "/orders": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "createOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order created"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "storeId",
                  "orderType",
                  "items"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "orderType": {
                    "type": "string",
                    "enum": [
                      "store_dropoff",
                      "store_dropoff_home_delivery",
                      "home_pickup",
                      "home_pickup_home_delivery"
                    ]
                  },
                  "isDraft": {
                    "type": "boolean",
                    "description": "Set true to save the order as a draft without confirming it."
                  },
                  "draftEditorState": {
                    "type": "object"
                  },
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "express",
                      "lightning"
                    ],
                    "description": "Delivery speed: standard | express | lightning"
                  },
                  "customerContactId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Customer contact (person coming on behalf of the customer)"
                  },
                  "familyGroupMemberId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "expressMultiplier": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Urgency multiplier (1 = standard, 2 = 2x faster/costlier). Drives the calculated deliveryDate."
                  },
                  "deliveryDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Promised delivery date. Overrides the ETA the backend derives from item TATs and expressMultiplier. Omit to use that computed date."
                  },
                  "specialInstructions": {
                    "type": "string"
                  },
                  "specialInstructionMediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "additionalChargeIds": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "string",
                          "format": "uuid"
                        },
                        {
                          "type": "object",
                          "required": [
                            "additionalChargeId",
                            "quantity"
                          ],
                          "properties": {
                            "additionalChargeId": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "quantity": {
                              "type": "integer",
                              "minimum": 1
                            }
                          }
                        }
                      ]
                    }
                  },
                  "orderLabelIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Order-level labels/tags"
                  },
                  "items": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "itemId",
                        "quantity"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "itemId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number",
                          "minimum": 1
                        },
                        "specialInstructions": {
                          "type": "string"
                        },
                        "specialInstructionMediaIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "remarks": {
                          "type": "string"
                        },
                        "additionalChargeIds": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "type": "string",
                                "format": "uuid"
                              },
                              {
                                "type": "object",
                                "required": [
                                  "additionalChargeId",
                                  "quantity"
                                ],
                                "properties": {
                                  "additionalChargeId": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "quantity": {
                                    "type": "integer",
                                    "minimum": 1
                                  }
                                }
                              }
                            ]
                          }
                        },
                        "additionalServiceIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "description": "Additional services selected for this item"
                        },
                        "units": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "brandId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "colorId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "length": {
                                "type": "number",
                                "minimum": 0
                              },
                              "width": {
                                "type": "number",
                                "minimum": 0
                              },
                              "additionalServiceIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "additionalChargeIds": {
                                "type": "array",
                                "items": {
                                  "oneOf": [
                                    {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    {
                                      "type": "object",
                                      "required": [
                                        "additionalChargeId",
                                        "quantity"
                                      ],
                                      "properties": {
                                        "additionalChargeId": {
                                          "type": "string",
                                          "format": "uuid"
                                        },
                                        "quantity": {
                                          "type": "integer",
                                          "minimum": 1
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              "instructions": {
                                "type": "string"
                              },
                              "itemPhotoMediaIds": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "stainMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "stainId"
                                  ],
                                  "properties": {
                                    "stainId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "damageMarks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "damageId"
                                  ],
                                  "properties": {
                                    "damageId": {
                                      "type": "string",
                                      "format": "uuid"
                                    },
                                    "remarks": {
                                      "type": "string"
                                    },
                                    "mediaIds": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    }
                                  }
                                }
                              },
                              "qrPrintCount": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "rejectedAtIntake": {
                                "type": "boolean"
                              },
                              "rejectionReason": {
                                "type": "string"
                              },
                              "rejectionRemarks": {
                                "type": "string"
                              }
                            }
                          },
                          "description": "Per-garment inspection, additional-service and additional-charge selections."
                        }
                      }
                    }
                  },
                  "payments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "paymentMode",
                        "amount"
                      ],
                      "properties": {
                        "paymentMode": {
                          "type": "string",
                          "enum": [
                            "cash",
                            "upi",
                            "card",
                            "net_banking",
                            "bank_transfer",
                            "cheque",
                            "pdc",
                            "pay_later",
                            "on_account",
                            "gateway",
                            "wallet",
                            "pp_voucher"
                          ]
                        },
                        "amount": {
                          "type": "number",
                          "minimum": 0.01
                        },
                        "transactionReference": {
                          "type": "string"
                        },
                        "gatewayResponse": {
                          "type": "string"
                        }
                      }
                    },
                    "description": "One or more payment transactions (cash, card, UPI, etc.)"
                  },
                  "walletAmount": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Amount to deduct from customer wallet"
                  },
                  "paymentIsOnAccount": {
                    "type": "boolean",
                    "description": "Bill this order on account when the customer is eligible."
                  },
                  "couponCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "OrderController.createOrder"
      },
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "listOrders",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Enriched order list with customer details, payment summary and filters"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clusterId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "homeStoreOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "OrderController.listOrders"
      }
    },
    "/payments/gateway-links/shareable": {
      "post": {
        "x-controller-name": "GatewayPaymentController",
        "x-operation-name": "createShareable",
        "tags": [
          "GatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Shareable Razorpay payment link created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "referenceId",
                  "amount",
                  "customerName"
                ],
                "properties": {
                  "referenceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "description": {
                    "type": "string"
                  },
                  "customerName": {
                    "type": "string"
                  },
                  "customerEmail": {
                    "type": "string"
                  },
                  "customerContact": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "GatewayPaymentController.createShareable"
      }
    },
    "/payments/gateway-links/{id}/verify": {
      "post": {
        "x-controller-name": "GatewayPaymentController",
        "x-operation-name": "verify",
        "tags": [
          "GatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Gateway payment verified and applied"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "razorpayOrderId",
                  "razorpayPaymentId",
                  "razorpaySignature"
                ],
                "properties": {
                  "razorpayOrderId": {
                    "type": "string"
                  },
                  "razorpayPaymentId": {
                    "type": "string"
                  },
                  "razorpaySignature": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "GatewayPaymentController.verify"
      }
    },
    "/payments/gateway-links/{id}": {
      "get": {
        "x-controller-name": "GatewayPaymentController",
        "x-operation-name": "findById",
        "tags": [
          "GatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Gateway payment link status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GatewayPaymentController.findById"
      }
    },
    "/payments/gateway-links": {
      "post": {
        "x-controller-name": "GatewayPaymentController",
        "x-operation-name": "create",
        "tags": [
          "GatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Gateway payment order created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "referenceType",
                  "referenceId",
                  "amount",
                  "customerName"
                ],
                "properties": {
                  "referenceType": {
                    "type": "string",
                    "enum": [
                      "order_payment",
                      "wallet_topup",
                      "security_deposit_topup",
                      "new_order_payment"
                    ]
                  },
                  "referenceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "description": {
                    "type": "string"
                  },
                  "customerName": {
                    "type": "string"
                  },
                  "customerEmail": {
                    "type": "string"
                  },
                  "customerContact": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "GatewayPaymentController.create"
      }
    },
    "/permissions/{id}": {
      "patch": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "updateById",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Permission updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permission": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "addRoleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "removeRoleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PermissionsController.updateById"
      },
      "get": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "findById",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Permissions model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Permissions.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PermissionsController.findById"
      }
    },
    "/permissions": {
      "post": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "create",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Permission created and assigned to roles"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "permission",
                  "roleValues"
                ],
                "properties": {
                  "permission": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "roleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PermissionsController.create"
      },
      "get": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "find",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Permissions model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Permissions.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PermissionsController.find"
      }
    },
    "/petty-cash/balance": {
      "get": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "getBalance",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A store's current petty cash balance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PettyCashController.getBalance"
      }
    },
    "/petty-cash/finance-entries": {
      "post": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "createFinanceEntry",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Finance entry added to a store's petty cash float"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "storeId",
                  "amount",
                  "remarks"
                ],
                "properties": {
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amount": {
                    "type": "number",
                    "minimum": 0.01
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "PettyCashController.createFinanceEntry"
      },
      "get": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "listFinanceEntries",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A store's finance (top-up) entries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PettyCashController.listFinanceEntries"
      }
    },
    "/petty-cash/register-entries/{id}/resolve": {
      "post": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "resolveRegisterEntry",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Expense entry approved (fully or partially) or rejected"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "approved",
                  "remark"
                ],
                "properties": {
                  "approved": {
                    "type": "boolean"
                  },
                  "approvedAmount": {
                    "type": "number",
                    "description": "Required when approved is true. May be less than the requested amount (partial approval)."
                  },
                  "remark": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PettyCashController.resolveRegisterEntry"
      }
    },
    "/petty-cash/register-entries/{id}": {
      "delete": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "deleteRegisterEntry",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pending expense entry deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PettyCashController.deleteRegisterEntry"
      }
    },
    "/petty-cash/register-entries": {
      "post": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "createRegisterEntry",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Expense logged, pending manager approval"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "expenseDate",
                  "amount",
                  "description",
                  "remarks"
                ],
                "properties": {
                  "storeId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required only for a caller with no fixed Employee.storeId (manager, super_admin)."
                  },
                  "expenseDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "amount": {
                    "type": "number",
                    "minimum": 0.01
                  },
                  "method": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "PettyCashController.createRegisterEntry"
      },
      "get": {
        "x-controller-name": "PettyCashController",
        "x-operation-name": "listRegisterEntries",
        "tags": [
          "PettyCashController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Register (expense) entries — one store, or every store the caller can see"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PettyCashController.listRegisterEntries"
      }
    },
    "/pickup-delivery-slots/count": {
      "get": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "count",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "200": {
            "description": "PickupDeliverySlot model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PickupDeliverySlot.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PickupDeliverySlot>"
                }
              }
            }
          }
        ],
        "operationId": "PickupDeliverySlotController.count"
      }
    },
    "/pickup-delivery-slots/{id}": {
      "patch": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "updateById",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PickupDeliverySlot PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PickupDeliverySlotPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PickupDeliverySlotController.updateById"
      },
      "get": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "findById",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "200": {
            "description": "PickupDeliverySlot model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupDeliverySlot"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupDeliverySlot.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PickupDeliverySlotController.findById"
      },
      "delete": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "deleteById",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PickupDeliverySlot DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PickupDeliverySlotController.deleteById"
      }
    },
    "/pickup-delivery-slots": {
      "post": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "create",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "200": {
            "description": "PickupDeliverySlot model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupDeliverySlot"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPickupDeliverySlot"
              }
            }
          }
        },
        "operationId": "PickupDeliverySlotController.create"
      },
      "get": {
        "x-controller-name": "PickupDeliverySlotController",
        "x-operation-name": "find",
        "tags": [
          "PickupDeliverySlotController"
        ],
        "responses": {
          "200": {
            "description": "Array of PickupDeliverySlot model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PickupDeliverySlot"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupDeliverySlot.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PickupDeliverySlotController.find"
      }
    },
    "/pickup-escalations/{id}/resolve": {
      "patch": {
        "x-controller-name": "PickupEscalationController",
        "x-operation-name": "resolve",
        "tags": [
          "PickupEscalationController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Escalation marked resolved"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "resolutionRemark": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PickupEscalationController.resolve"
      }
    },
    "/pickup-escalations": {
      "get": {
        "x-controller-name": "PickupEscalationController",
        "x-operation-name": "find",
        "tags": [
          "PickupEscalationController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup escalations, for the support triage queue"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PickupEscalationController.find"
      }
    },
    "/pickup-handovers/lookup": {
      "get": {
        "x-controller-name": "PickupHandoverController",
        "x-operation-name": "lookup",
        "tags": [
          "PickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup handover batch resolved by its scanned/entered code"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PickupHandoverController.lookup"
      }
    },
    "/pickup-handovers/{id}/confirm": {
      "post": {
        "x-controller-name": "PickupHandoverController",
        "x-operation-name": "confirm",
        "tags": [
          "PickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup handover confirmed received"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PickupHandoverController.confirm"
      }
    },
    "/pickup-handovers": {
      "get": {
        "x-controller-name": "PickupHandoverController",
        "x-operation-name": "find",
        "tags": [
          "PickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Store-targeted pickup handover batches"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PickupHandoverController.find"
      }
    },
    "/pickup-requests/assign": {
      "post": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "assign",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup requests assigned to a rider"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pickupRequestIds",
                  "riderId",
                  "storeId",
                  "scheduledDate",
                  "slot"
                ],
                "properties": {
                  "pickupRequestIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "riderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "scheduledDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "slot": {
                    "type": "string"
                  },
                  "slotId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "If given, overrides slot with this slot's label."
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "PickupRequestController.assign"
      }
    },
    "/pickup-requests/count": {
      "get": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "count",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "PickupRequestController.count"
      }
    },
    "/pickup-requests/{id}/change-requests": {
      "post": {
        "x-controller-name": "PickupChangeRequestController",
        "x-operation-name": "create",
        "tags": [
          "PickupChangeRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup change request recorded"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "orderId",
                  "originalItems",
                  "changedItems"
                ],
                "properties": {
                  "orderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "originalItems": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "changedItems": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "changeSummary": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PickupChangeRequestController.create"
      },
      "get": {
        "x-controller-name": "PickupChangeRequestController",
        "x-operation-name": "find",
        "tags": [
          "PickupChangeRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Change requests recorded against this pickup"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PickupChangeRequestController.find"
      }
    },
    "/pickup-requests/{id}": {
      "patch": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "updateById",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "customerName": {
                    "type": "string"
                  },
                  "customerCountryCode": {
                    "type": "string"
                  },
                  "customerMobile": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "requestedDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "slot": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "itemCountEstimate": {
                    "type": "number"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "requested",
                      "scheduled",
                      "rider_assigned",
                      "out_for_pickup",
                      "arrived_at_pickup",
                      "picked_up",
                      "received_at_store",
                      "pickup_unsuccessful",
                      "cancelled",
                      "not_serviceable"
                    ]
                  },
                  "convertedOrderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "deliverySpeed": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "express",
                      "lightning"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PickupRequestController.updateById"
      },
      "get": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "findById",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "One pickup request with bag numbers, media URLs, and service names",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PickupRequestWithRelations"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "suggestedRiderId": {
                          "type": "string",
                          "nullable": true
                        },
                        "suggestedRiderName": {
                          "type": "string",
                          "nullable": true
                        },
                        "reworkOfOrderNumber": {
                          "type": "string",
                          "nullable": true
                        },
                        "convertedOrderNumber": {
                          "type": "string",
                          "nullable": true
                        },
                        "convertedOrderNumbers": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "bagNumber": {
                          "type": "number",
                          "nullable": true
                        },
                        "bagNumbers": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "mediaUrls": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "riderMediaUrls": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "itemCategoryEstimate": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "itemCategoryName": {
                                "type": "string",
                                "nullable": true
                              },
                              "serviceName": {
                                "type": "string",
                                "nullable": true
                              }
                            }
                          }
                        },
                        "actualItemsByService": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "serviceName": {
                                "type": "string",
                                "nullable": true
                              },
                              "serviceCategoryId": {
                                "type": "string",
                                "nullable": true
                              },
                              "serviceCategoryName": {
                                "type": "string",
                                "nullable": true
                              },
                              "bagNumber": {
                                "type": "number",
                                "nullable": true
                              },
                              "mediaUrls": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PickupRequestController.findById"
      },
      "delete": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "deleteById",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PickupRequestController.deleteById"
      }
    },
    "/pickup-requests": {
      "post": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "create",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerName",
                  "customerMobile",
                  "address",
                  "requestedDate",
                  "slot",
                  "source"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "customerName": {
                    "type": "string"
                  },
                  "customerCountryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "customerMobile": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "requestedDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "slot": {
                    "type": "string"
                  },
                  "slotId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "If given, overrides slot with this slot's label."
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "web",
                      "call",
                      "whatsapp"
                    ]
                  },
                  "itemCountEstimate": {
                    "type": "number"
                  },
                  "itemCategoryEstimate": {
                    "type": "array",
                    "description": "Per-category counts (e.g. how many clothes vs curtains) — used to size the pickup (bike vs van). Not binding; the real order is built after in-store inspection.",
                    "items": {
                      "type": "object",
                      "required": [
                        "itemCategoryId",
                        "quantity"
                      ],
                      "properties": {
                        "itemCategoryId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "deliverySpeed": {
                          "type": "string",
                          "enum": [
                            "standard",
                            "express",
                            "lightning"
                          ]
                        }
                      }
                    }
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "isReworkPickup": {
                    "type": "boolean",
                    "description": "This pickup is to bring back a garment for a free rework, not a new paid order — requires reworkOfOrderId and reworkApprovalRequestId. The free rework ticket is created immediately for staff requests or after customer request approval."
                  },
                  "reworkOfOrderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "reworkApprovalRequestId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        },
        "operationId": "PickupRequestController.create"
      },
      "get": {
        "x-controller-name": "PickupRequestController",
        "x-operation-name": "find",
        "tags": [
          "PickupRequestController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup requests"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupRequest.Filter"
                }
              }
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clusterId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PickupRequestController.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"
      }
    },
    "/price-list-items/count": {
      "get": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "count",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "200": {
            "description": "PriceListItem model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PriceListItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PriceListItem>"
                }
              }
            }
          }
        ],
        "operationId": "PriceListItemController.count"
      }
    },
    "/price-list-items/{id}": {
      "patch": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "updateById",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PriceListItem PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceListItemPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PriceListItemController.updateById"
      },
      "get": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "findById",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "200": {
            "description": "PriceListItem model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListItemWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListItem.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PriceListItemController.findById"
      }
    },
    "/price-list-items": {
      "post": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "create",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "200": {
            "description": "PriceListItem model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListItem"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPriceListItem"
              }
            }
          }
        },
        "operationId": "PriceListItemController.create"
      },
      "patch": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "updateAll",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "200": {
            "description": "PriceListItem PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PriceListItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PriceListItem>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceListItemPartial"
              }
            }
          }
        },
        "operationId": "PriceListItemController.updateAll"
      },
      "get": {
        "x-controller-name": "PriceListItemController",
        "x-operation-name": "find",
        "tags": [
          "PriceListItemController"
        ],
        "responses": {
          "200": {
            "description": "Array of PriceListItem model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceListItemWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListItem.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PriceListItemController.find"
      }
    },
    "/price-lists/count": {
      "get": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "count",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "PriceList model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PriceList.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PriceList>"
                }
              }
            }
          }
        ],
        "operationId": "PriceListController.count"
      }
    },
    "/price-lists/{id}": {
      "patch": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "updateById",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "PriceList PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceListPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PriceListController.updateById"
      },
      "get": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "findById",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "PriceList model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceList.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PriceListController.findById"
      }
    },
    "/price-lists": {
      "post": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "create",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "PriceList model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceListWithRelations"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "regionId",
                  "percentage"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "regionId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "percentage": {
                    "type": "number"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "PriceListController.create"
      },
      "get": {
        "x-controller-name": "PriceListController",
        "x-operation-name": "find",
        "tags": [
          "PriceListController"
        ],
        "responses": {
          "200": {
            "description": "Array of PriceList model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceListWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceList.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PriceListController.find"
      }
    },
    "/process-steps/count": {
      "get": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "count",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "200": {
            "description": "ProcessStep model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ProcessStep.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ProcessStep>"
                }
              }
            }
          }
        ],
        "operationId": "ProcessStepController.count"
      }
    },
    "/process-steps/{id}": {
      "patch": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "updateById",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ProcessStep PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProcessStepPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ProcessStepController.updateById"
      },
      "get": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "findById",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "200": {
            "description": "ProcessStep model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessStepWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessStep.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ProcessStepController.findById"
      }
    },
    "/process-steps": {
      "post": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "create",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "200": {
            "description": "ProcessStep model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessStep"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewProcessStep"
              }
            }
          }
        },
        "operationId": "ProcessStepController.create"
      },
      "patch": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "updateAll",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "200": {
            "description": "ProcessStep PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ProcessStep.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ProcessStep>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProcessStepPartial"
              }
            }
          }
        },
        "operationId": "ProcessStepController.updateAll"
      },
      "get": {
        "x-controller-name": "ProcessStepController",
        "x-operation-name": "find",
        "tags": [
          "ProcessStepController"
        ],
        "responses": {
          "200": {
            "description": "Array of ProcessStep model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessStepWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessStep.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ProcessStepController.find"
      }
    },
    "/profile/admin": {
      "patch": {
        "x-controller-name": "ProfileController",
        "x-operation-name": "updateAdminProfile",
        "tags": [
          "ProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Super admin profile updated"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        },
        "operationId": "ProfileController.updateAdminProfile"
      },
      "get": {
        "x-controller-name": "ProfileController",
        "x-operation-name": "getAdminProfile",
        "tags": [
          "ProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Super admin profile"
                }
              }
            }
          }
        },
        "operationId": "ProfileController.getAdminProfile"
      }
    },
    "/profile/customer/addresses/{id}": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "updateAddress",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Address updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addressType": {
                    "type": "string"
                  },
                  "addressName": {
                    "type": "string",
                    "description": "e.g. Father's home, 2nd office"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string",
                    "description": "Door/floor/flat number"
                  },
                  "societyName": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerProfileController.updateAddress"
      },
      "delete": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "deleteAddress",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Address deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerProfileController.deleteAddress"
      }
    },
    "/profile/customer/addresses": {
      "post": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "addAddress",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Address added",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddress"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addressLine1",
                  "city",
                  "state",
                  "pincode"
                ],
                "properties": {
                  "addressType": {
                    "type": "string"
                  },
                  "addressName": {
                    "type": "string",
                    "description": "e.g. Father's home, 2nd office"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string",
                    "description": "Door/floor/flat number"
                  },
                  "societyName": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.addAddress"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getAddresses",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Customer addresses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerAddress"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getAddresses"
      }
    },
    "/profile/customer/approvals/{id}/respond": {
      "post": {
        "x-controller-name": "CustomerApprovalController",
        "x-operation-name": "respond",
        "tags": [
          "CustomerApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Approval answered"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "action"
                ],
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "approved",
                      "rejected_and_return",
                      "rejected_and_process"
                    ],
                    "description": "Which actions are valid depends on the request type — see GET .../approvals/{id}'s availableActions. For upgrade_service: approved = do the upgrade; rejected_and_return = return the garment unprocessed; rejected_and_process = process it on the original service. For process_at_risk: approved = process it, accepting the risk; rejected_and_return = return the garment unprocessed."
                  },
                  "comments": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerApprovalController.respond"
      }
    },
    "/profile/customer/approvals/{id}": {
      "get": {
        "x-controller-name": "CustomerApprovalController",
        "x-operation-name": "myApprovalDetail",
        "tags": [
          "CustomerApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "One customer-facing approval in full detail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerApprovalController.myApprovalDetail"
      }
    },
    "/profile/customer/contacts/{id}": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "updateContact",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Contact updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerProfileController.updateContact"
      },
      "delete": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "deleteContact",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Contact deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerProfileController.deleteContact"
      }
    },
    "/profile/customer/contacts": {
      "post": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "addContact",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Contact added",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerContact"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "phone",
                  "relationship"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.addContact"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getContacts",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Customer contacts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerContact"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getContacts"
      }
    },
    "/profile/customer/coupons/active": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getActiveCoupons",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Active coupons this customer is currently eligible for (home-screen offers)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerProfileController.getActiveCoupons"
      }
    },
    "/profile/customer/family-group/members/{memberId}": {
      "patch": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "updateMember",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update a family member"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerFamilyGroupController.updateMember"
      },
      "delete": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "removeMember",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Remove a family member"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerFamilyGroupController.removeMember"
      }
    },
    "/profile/customer/family-group/members": {
      "post": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "addMember",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Add a family member"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "relationship"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "customerId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Link to an existing customer account"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerFamilyGroupController.addMember"
      },
      "get": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "listMembers",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List family members"
                }
              }
            }
          }
        },
        "operationId": "CustomerFamilyGroupController.listMembers"
      }
    },
    "/profile/customer/family-group": {
      "post": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "createGroup",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Create family group"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerFamilyGroupController.createGroup"
      },
      "patch": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "updateGroup",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update family group name"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerFamilyGroupController.updateGroup"
      },
      "get": {
        "x-controller-name": "CustomerFamilyGroupController",
        "x-operation-name": "getGroup",
        "tags": [
          "CustomerFamilyGroupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get my family group with members"
                }
              }
            }
          }
        },
        "operationId": "CustomerFamilyGroupController.getGroup"
      }
    },
    "/profile/customer/item-categories": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getItemCategories",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Active item categories, for a per-category pickup estimate (e.g. clothes vs curtains)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemCategory"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getItemCategories"
      }
    },
    "/profile/customer/orders/summary": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "ordersSummary",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Counts of the customer's orders by status"
                }
              }
            }
          }
        },
        "operationId": "CustomerOrderController.ordersSummary"
      }
    },
    "/profile/customer/orders/{orderId}/approvals": {
      "get": {
        "x-controller-name": "CustomerApprovalController",
        "x-operation-name": "myOrderApprovals",
        "tags": [
          "CustomerApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Upgrade-service approvals raised against the garments in this order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerApprovalController.myOrderApprovals"
      }
    },
    "/profile/customer/orders/{orderId}/challan": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myOrderChallan",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Challan for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerOrderController.myOrderChallan"
      }
    },
    "/profile/customer/orders/{orderId}/invoice": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myOrderInvoice",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Invoice for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerOrderController.myOrderInvoice"
      }
    },
    "/profile/customer/orders/{orderId}/pay/initiate-gateway": {
      "post": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "payMyOrderInitiateGateway",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Razorpay order created for this order payment"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Amount to pay via gateway. Must be > 0 and ≤ balance due."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerOrderController.payMyOrderInitiateGateway"
      }
    },
    "/profile/customer/orders/{orderId}/pay-from-wallet": {
      "post": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "payMyOrderFromWallet",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet payment recorded against the order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Amount to pay from the wallet. Must be > 0 and ≤ balance due."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerOrderController.payMyOrderFromWallet"
      }
    },
    "/profile/customer/orders/{orderId}/payments": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myOrderPayments",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payment history + balance for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerOrderController.myOrderPayments"
      }
    },
    "/profile/customer/orders/{orderId}/reprocess-request": {
      "post": {
        "x-controller-name": "CustomerApprovalController",
        "x-operation-name": "requestReprocess",
        "tags": [
          "CustomerApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reprocess request submitted for approval"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string",
                    "enum": [
                      "ironing_not_proper",
                      "stain_not_removed",
                      "odour_remaining",
                      "colour_faded",
                      "damage_found",
                      "wrong_item",
                      "incomplete_service",
                      "other"
                    ]
                  },
                  "remarks": {
                    "type": "string",
                    "description": "Required when reason is \"other\""
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Photos of the problem"
                  },
                  "garmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Items to redo. Omit to report the whole order."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerApprovalController.requestReprocess"
      }
    },
    "/profile/customer/orders/{orderId}/reprocess-requests": {
      "get": {
        "x-controller-name": "CustomerApprovalController",
        "x-operation-name": "myReprocessRequests",
        "tags": [
          "CustomerApprovalController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reprocess requests this customer raised on the order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerApprovalController.myReprocessRequests"
      }
    },
    "/profile/customer/orders/{orderId}/tracking": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myOrderTracking",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Status timeline + per-garment progress for an order"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerOrderController.myOrderTracking"
      }
    },
    "/profile/customer/orders/{orderId}": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myOrderDetails",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Full order details (items, garments, payments)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerOrderController.myOrderDetails"
      }
    },
    "/profile/customer/orders": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "listMyOrders",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The logged-in customer's orders (paginated)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CustomerOrderController.listMyOrders"
      }
    },
    "/profile/customer/payments/gateway-links/{id}/verify": {
      "post": {
        "x-controller-name": "CustomerGatewayPaymentController",
        "x-operation-name": "verify",
        "tags": [
          "CustomerGatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Gateway payment verified and applied"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "razorpayOrderId",
                  "razorpayPaymentId",
                  "razorpaySignature"
                ],
                "properties": {
                  "razorpayOrderId": {
                    "type": "string"
                  },
                  "razorpayPaymentId": {
                    "type": "string"
                  },
                  "razorpaySignature": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerGatewayPaymentController.verify"
      }
    },
    "/profile/customer/payments/gateway-links/{id}": {
      "get": {
        "x-controller-name": "CustomerGatewayPaymentController",
        "x-operation-name": "findById",
        "tags": [
          "CustomerGatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Gateway payment link status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerGatewayPaymentController.findById"
      }
    },
    "/profile/customer/phones/{id}": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "updatePhone",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Phone updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isWhatsappNumber": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CustomerProfileController.updatePhone"
      },
      "delete": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "deletePhone",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Phone deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerProfileController.deletePhone"
      }
    },
    "/profile/customer/phones": {
      "post": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "addPhone",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Phone added",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPhone"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "countryCode",
                  "phone"
                ],
                "properties": {
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isWhatsappNumber": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.addPhone"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getPhones",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Customer alternate phones",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerPhone"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getPhones"
      }
    },
    "/profile/customer/pickup-requests/{id}/cancel": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "cancelPickupRequest",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request cancelled"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerProfileController.cancelPickupRequest"
      }
    },
    "/profile/customer/pickup-requests/{id}": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getPickupRequestById",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Pickup request detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PickupRequestWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CustomerProfileController.getPickupRequestById"
      }
    },
    "/profile/customer/pickup-requests": {
      "post": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "createPickupRequest",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addressId",
                  "slotId",
                  "requestedDate",
                  "handoverBy"
                ],
                "properties": {
                  "addressId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "slotId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "requestedDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "handoverBy": {
                    "type": "string",
                    "enum": [
                      "self",
                      "family_member",
                      "household_help"
                    ]
                  },
                  "handoverPersonName": {
                    "type": "string",
                    "description": "Required unless handoverBy is \"self\"."
                  },
                  "itemCountEstimate": {
                    "type": "number"
                  },
                  "itemCategoryEstimate": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "itemCategoryId",
                        "quantity"
                      ],
                      "properties": {
                        "itemCategoryId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number"
                        }
                      }
                    },
                    "description": "Per-category counts (from GET /profile/customer/item-categories), e.g. how many clothes vs curtains — used to size the pickup (bike vs van)."
                  },
                  "remarks": {
                    "type": "string",
                    "description": "Free-text special instructions for this pickup."
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "IDs returned by POST /files for any photos/voice notes attached to this pickup."
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.createPickupRequest"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getPickupRequests",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Caller's own pickup requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PickupRequestWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getPickupRequests"
      }
    },
    "/profile/customer/pickup-slots": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getPickupSlots",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Active pickup slots — pass date to hide slots less than 90 minutes out when date is today",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PickupDeliverySlot"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CustomerProfileController.getPickupSlots"
      }
    },
    "/profile/customer/preferences": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "updatePreferences",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Updated preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPreference"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "applyInstructionsToAllOrders": {
                    "type": "boolean"
                  },
                  "specialInstructions": {
                    "type": "string"
                  },
                  "specialInstructionMediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "stainAutoApprove": {
                    "type": "boolean"
                  },
                  "damageAutoApprove": {
                    "type": "boolean"
                  },
                  "colourBleedingChoice": {
                    "type": "string",
                    "enum": [
                      "ask_every_time",
                      "accept_risk_and_process",
                      "return_unprocessed"
                    ]
                  },
                  "upgradeServiceChoice": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "notify"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.updatePreferences"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getPreferences",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Caller's stored preferences (created with defaults on first read)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPreference"
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getPreferences"
      }
    },
    "/profile/customer/security-deposit/topup/cancel": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "cancelSecurityDepositTopup",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Top-up request cancelled"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "topupRequestId"
                ],
                "properties": {
                  "topupRequestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.cancelSecurityDepositTopup"
      }
    },
    "/profile/customer/security-deposit/topup/confirm": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "confirmSecurityDepositTopup",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security deposit topped up successfully"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "topupRequestId"
                ],
                "properties": {
                  "topupRequestId": {
                    "type": "string"
                  },
                  "paymentReferenceId": {
                    "type": "string"
                  },
                  "gatewayResponse": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.confirmSecurityDepositTopup"
      }
    },
    "/profile/customer/security-deposit/topup/initiate": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "initiateSecurityDepositTopup",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security deposit top-up request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "paymentMode"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.initiateSecurityDepositTopup"
      }
    },
    "/profile/customer/security-deposit/topup-history": {
      "get": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "securityDepositTopupHistory",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security deposit top-up history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CustomerRechargeController.securityDepositTopupHistory"
      }
    },
    "/profile/customer/security-deposit": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getSecurityDeposit",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Security deposit info"
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getSecurityDeposit"
      }
    },
    "/profile/customer/service-categories": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getServiceCategories",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "Active Service categories, for a per-category pickup estimate (e.g. clothes vs curtains)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemCategory"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getServiceCategories"
      }
    },
    "/profile/customer/wallet/recharge/cancel": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "cancelWalletRecharge",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Recharge request cancelled"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rechargeRequestId"
                ],
                "properties": {
                  "rechargeRequestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.cancelWalletRecharge"
      }
    },
    "/profile/customer/wallet/recharge/confirm": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "confirmWalletRecharge",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet recharged successfully"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rechargeRequestId"
                ],
                "properties": {
                  "rechargeRequestId": {
                    "type": "string"
                  },
                  "paymentReferenceId": {
                    "type": "string"
                  },
                  "gatewayResponse": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.confirmWalletRecharge"
      }
    },
    "/profile/customer/wallet/recharge/initiate": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "initiateWalletRecharge",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet recharge request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "paymentMode"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "upi",
                      "card",
                      "net_banking",
                      "bank_transfer",
                      "cheque",
                      "pdc",
                      "pay_later",
                      "on_account",
                      "gateway",
                      "wallet",
                      "pp_voucher"
                    ]
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.initiateWalletRecharge"
      }
    },
    "/profile/customer/wallet/recharge/initiate-gateway": {
      "post": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "initiateWalletRechargeGateway",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet recharge Razorpay order created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number",
                    "minimum": 1
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerRechargeController.initiateWalletRechargeGateway"
      }
    },
    "/profile/customer/wallet/recharge-history": {
      "get": {
        "x-controller-name": "CustomerRechargeController",
        "x-operation-name": "walletRechargeHistory",
        "tags": [
          "CustomerRechargeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet recharge history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CustomerRechargeController.walletRechargeHistory"
      }
    },
    "/profile/customer/wallet/transactions": {
      "get": {
        "x-controller-name": "CustomerOrderController",
        "x-operation-name": "myWalletTransactions",
        "tags": [
          "CustomerOrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The customer's wallet transactions (paginated)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "transactionType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CustomerOrderController.myWalletTransactions"
      }
    },
    "/profile/customer/wallet": {
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getWallet",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Wallet balance and recent transactions"
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getWallet"
      }
    },
    "/profile/customer": {
      "patch": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "updateProfile",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer profile updated"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "gstNumber": {
                    "type": "string"
                  },
                  "companyName": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.updateProfile"
      },
      "get": {
        "x-controller-name": "CustomerProfileController",
        "x-operation-name": "getProfile",
        "tags": [
          "CustomerProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer profile"
                }
              }
            }
          }
        },
        "operationId": "CustomerProfileController.getProfile"
      }
    },
    "/profile/employee": {
      "patch": {
        "x-controller-name": "ProfileController",
        "x-operation-name": "updateEmployeeProfile",
        "tags": [
          "ProfileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee profile updated"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "format": "date"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "mediaId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        },
        "operationId": "ProfileController.updateEmployeeProfile"
      },
      "get": {
        "x-controller-name": "ProfileController",
        "x-operation-name": "getEmployeeProfile",
        "tags": [
          "ProfileController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee profile"
                }
              }
            }
          }
        },
        "operationId": "ProfileController.getEmployeeProfile"
      }
    },
    "/profile/rider/attendance/active": {
      "get": {
        "x-controller-name": "RiderAttendanceController",
        "x-operation-name": "active",
        "tags": [
          "RiderAttendanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider’s open session, or null"
                }
              }
            }
          }
        },
        "operationId": "RiderAttendanceController.active"
      }
    },
    "/profile/rider/attendance/punch-in": {
      "post": {
        "x-controller-name": "RiderAttendanceController",
        "x-operation-name": "punchIn",
        "tags": [
          "RiderAttendanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider punched in"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "selfieMediaId"
                ],
                "properties": {
                  "selfieMediaId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Uploaded via POST /files"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderAttendanceController.punchIn"
      }
    },
    "/profile/rider/attendance/punch-out": {
      "post": {
        "x-controller-name": "RiderAttendanceController",
        "x-operation-name": "punchOut",
        "tags": [
          "RiderAttendanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider punched out"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "selfieMediaId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Uploaded via POST /files (optional)"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderAttendanceController.punchOut"
      }
    },
    "/profile/rider/attendance": {
      "get": {
        "x-controller-name": "RiderAttendanceController",
        "x-operation-name": "myAttendance",
        "tags": [
          "RiderAttendanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider’s own attendance history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderAttendanceController.myAttendance"
      }
    },
    "/profile/rider/rosters": {
      "get": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "myRosters",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "My roster entries"
                }
              }
            }
          }
        },
        "operationId": "RiderRosterController.myRosters"
      }
    },
    "/refunds-due/{id}/select-method": {
      "post": {
        "x-controller-name": "RefundController",
        "x-operation-name": "selectMethod",
        "tags": [
          "RefundController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Payout method selected — refund payout approval raised"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "method"
                ],
                "properties": {
                  "method": {
                    "type": "string",
                    "enum": [
                      "wallet",
                      "bank_account",
                      "cash"
                    ]
                  },
                  "cashShiftId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "bankDetails": {
                    "type": "object",
                    "properties": {
                      "accountHolderName": {
                        "type": "string"
                      },
                      "bankName": {
                        "type": "string"
                      },
                      "accountNumber": {
                        "type": "string"
                      },
                      "ifscCode": {
                        "type": "string"
                      },
                      "branchName": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RefundController.selectMethod"
      }
    },
    "/regions/count": {
      "get": {
        "x-controller-name": "RegionController",
        "x-operation-name": "count",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "200": {
            "description": "Region model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Region.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Region>"
                }
              }
            }
          }
        ],
        "operationId": "RegionController.count"
      }
    },
    "/regions/{id}": {
      "patch": {
        "x-controller-name": "RegionController",
        "x-operation-name": "updateById",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Region PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RegionController.updateById"
      },
      "get": {
        "x-controller-name": "RegionController",
        "x-operation-name": "findById",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "200": {
            "description": "Region model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Region.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RegionController.findById"
      }
    },
    "/regions": {
      "post": {
        "x-controller-name": "RegionController",
        "x-operation-name": "create",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "200": {
            "description": "Region model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Region"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRegion"
              }
            }
          }
        },
        "operationId": "RegionController.create"
      },
      "patch": {
        "x-controller-name": "RegionController",
        "x-operation-name": "updateAll",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "200": {
            "description": "Region PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Region.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Region>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegionPartial"
              }
            }
          }
        },
        "operationId": "RegionController.updateAll"
      },
      "get": {
        "x-controller-name": "RegionController",
        "x-operation-name": "find",
        "tags": [
          "RegionController"
        ],
        "responses": {
          "200": {
            "description": "Array of Region model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RegionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Region.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "RegionController.find"
      }
    },
    "/reports/daily-sales": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "dailySales",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Daily Sales — closing collections per store per day"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ReportsController.dailySales"
      }
    },
    "/reports/mode-of-payment": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "modeOfPayment",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Mode Of Payment report — one row per payment taken"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ReportsController.modeOfPayment"
      }
    },
    "/reports/on-account-billing": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "onAccountBilling",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "On Account Billing report — orders billed on account"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deliveryStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ReportsController.onAccountBilling"
      }
    },
    "/reports/pending-payments": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "pendingPayments",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pending Payments report — orders still owing money"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deliveryStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerLabelId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includePmu",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeP2d",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ReportsController.pendingPayments"
      }
    },
    "/reports/pending-tickets": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "pendingTickets",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pending Tickets report — orders not yet delivered"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includePmu",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeP2d",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ReportsController.pendingTickets"
      }
    },
    "/reports/petty-cash-expense": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "pettyCashExpense",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Petty Cash Expense report — expense and in-shift finance entries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ReportsController.pettyCashExpense"
      }
    },
    "/reports/sales-gst": {
      "get": {
        "x-controller-name": "ReportsController",
        "x-operation-name": "salesGst",
        "tags": [
          "ReportsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales Report of GST — one row per invoiced line item"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ReportsController.salesGst"
      }
    },
    "/reprocess-reasons": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "reprocessReasons",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reason options and the claim window, for the reprocess form"
                }
              }
            }
          }
        },
        "operationId": "OrderController.reprocessReasons"
      }
    },
    "/rider/bags/lookup": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "lookupBag",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Bag details by bag number or UUID — used to confirm a scan before pickup"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupController.lookupBag"
      }
    },
    "/rider/cash-handovers/confirm": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "confirmIncomingHandoverByCode",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash handover confirmed received"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderDeliveryController.confirmIncomingHandoverByCode"
      }
    },
    "/rider/cash-handovers/incoming": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "incomingHandovers",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash handover batches directed to the calling rider by another rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.incomingHandovers"
      }
    },
    "/rider/cash-handovers/pending-items": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "pendingCashItems",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider's unsubmitted cash collections for delivered orders"
                }
              }
            }
          }
        },
        "operationId": "RiderDeliveryController.pendingCashItems"
      }
    },
    "/rider/cash-handovers/{id}/confirm": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "confirmIncomingHandover",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash handover confirmed received"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderDeliveryController.confirmIncomingHandover"
      }
    },
    "/rider/cash-handovers": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "submitHandover",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash handover submitted, awaiting recipient confirmation"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "paymentTransactionIds",
                  "handoverToType"
                ],
                "properties": {
                  "paymentTransactionIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "handoverToType": {
                    "type": "string",
                    "enum": [
                      "store",
                      "rider"
                    ]
                  },
                  "handoverToStoreId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required when handoverToType is \"store\" — covers both \"Washing Facility\" and \"Nearby Store\" in the app UI, same picker either way."
                  },
                  "handoverToRiderId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required when handoverToType is \"rider\" — covers both \"Van\" and \"Rider\" in the app UI, filtered by that rider's own riderType."
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderDeliveryController.submitHandover"
      },
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "myHandovers",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider's own handover batch history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.myHandovers"
      }
    },
    "/rider/customer-addresses/{id}": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getCustomerAddressById",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "A single saved address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddress"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPickupController.getCustomerAddressById"
      }
    },
    "/rider/customers/{customerId}/addresses": {
      "post": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "createCustomerAddress",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Address saved for this customer",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddress"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "addressLine1",
                  "city",
                  "state",
                  "pincode"
                ],
                "properties": {
                  "addressType": {
                    "type": "string"
                  },
                  "addressName": {
                    "type": "string",
                    "description": "e.g. Father's home, 2nd office"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string"
                  },
                  "societyName": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderPickupController.createCustomerAddress"
      },
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getCustomerAddresses",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "A customer's saved addresses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerAddress"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPickupController.getCustomerAddresses"
      }
    },
    "/rider/customers/{customerId}/contacts": {
      "post": {
        "x-controller-name": "RiderCustomerContactsController",
        "x-operation-name": "addContact",
        "tags": [
          "RiderCustomerContactsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Household contact added"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "phone",
                  "relationship"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderCustomerContactsController.addContact"
      },
      "get": {
        "x-controller-name": "RiderCustomerContactsController",
        "x-operation-name": "getContacts",
        "tags": [
          "RiderCustomerContactsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The customer's saved household contacts"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderCustomerContactsController.getContacts"
      }
    },
    "/rider/customers/{customerId}/family-members": {
      "post": {
        "x-controller-name": "RiderCustomerContactsController",
        "x-operation-name": "addFamilyMember",
        "tags": [
          "RiderCustomerContactsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Family member added"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "relationship"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "relationship": {
                    "type": "string",
                    "enum": [
                      "wife",
                      "husband",
                      "son",
                      "daughter",
                      "father",
                      "mother",
                      "brother",
                      "sister",
                      "driver",
                      "colleague",
                      "friend",
                      "househelp",
                      "other"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderCustomerContactsController.addFamilyMember"
      },
      "get": {
        "x-controller-name": "RiderCustomerContactsController",
        "x-operation-name": "getFamilyMembers",
        "tags": [
          "RiderCustomerContactsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The customer's saved family group members"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderCustomerContactsController.getFamilyMembers"
      }
    },
    "/rider/customers/{customerId}/preferences": {
      "patch": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "updateCustomerPreferences",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Updated preferences",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPreference"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "applyInstructionsToAllOrders": {
                    "type": "boolean"
                  },
                  "specialInstructions": {
                    "type": "string"
                  },
                  "specialInstructionMediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "stainAutoApprove": {
                    "type": "boolean"
                  },
                  "damageAutoApprove": {
                    "type": "boolean"
                  },
                  "colourBleedingChoice": {
                    "type": "string",
                    "enum": [
                      "ask_every_time",
                      "accept_risk_and_process",
                      "return_unprocessed"
                    ]
                  },
                  "upgradeServiceChoice": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "notify"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderPickupController.updateCustomerPreferences"
      },
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getCustomerPreferences",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "A customer's stored preferences (created with defaults on first read)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPreference"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPickupController.getCustomerPreferences"
      }
    },
    "/rider/customers": {
      "post": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "createCustomer",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customer created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firstName",
                  "lastName",
                  "phone"
                ],
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.createCustomer"
      },
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "searchCustomers",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Customers matching name/phone search"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupController.searchCustomers"
      }
    },
    "/rider/dashboard": {
      "get": {
        "x-controller-name": "RiderPerformanceController",
        "x-operation-name": "dashboard",
        "tags": [
          "RiderPerformanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own activity counts for a single date"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPerformanceController.dashboard"
      }
    },
    "/rider/deliveries/{id}/orders/{orderId}/deliver": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "deliver",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order marked delivered, payment recorded if required"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "cash",
                      "wallet"
                    ]
                  },
                  "amount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "walletAmount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "transactionReference": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "deliverTo": {
                    "type": "object",
                    "description": "Who physically received the order — omit to skip recording this (not required).",
                    "required": [
                      "collectorType"
                    ],
                    "properties": {
                      "collectorType": {
                        "type": "string",
                        "enum": [
                          "self",
                          "contact",
                          "family_member",
                          "other",
                          "guard",
                          "at_door"
                        ]
                      },
                      "customerContactId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Required when collectorType is \"contact\" (household)."
                      },
                      "familyGroupMemberId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Required when collectorType is \"family_member\"."
                      },
                      "collectorName": {
                        "type": "string",
                        "description": "Required when collectorType is \"other\" (e.g. a neighbour)."
                      },
                      "collectorPhone": {
                        "type": "string"
                      },
                      "photoMediaId": {
                        "type": "string",
                        "description": "Required when collectorType is \"guard\" or \"at_door\"."
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "RiderDeliveryController.deliver"
      }
    },
    "/rider/deliveries/{id}/orders/{orderId}/delivery-unsuccessful": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "deliveryUnsuccessful",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery attempt failed — order returned to store"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reasons"
                ],
                "properties": {
                  "reasons": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "enum": [
                        "customer_not_answering",
                        "not_approving_entry",
                        "other"
                      ]
                    }
                  },
                  "otherReason": {
                    "type": "string",
                    "description": "Required when reasons includes \"other\"."
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "RiderDeliveryController.deliveryUnsuccessful"
      }
    },
    "/rider/deliveries/{id}/orders/{orderId}/payment-qr": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "createOrderPaymentQr",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Razorpay payment link and QR code for the order balance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderDeliveryController.createOrderPaymentQr"
      }
    },
    "/rider/deliveries/{id}/orders/{orderId}/status": {
      "patch": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "markOrderArrived",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Order marked as reached"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "arrived"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "RiderDeliveryController.markOrderArrived"
      }
    },
    "/rider/deliveries/{id}/status": {
      "patch": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "startDelivery",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery started — linked orders moved to out_for_delivery"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "out_for_delivery"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderDeliveryController.startDelivery"
      }
    },
    "/rider/deliveries/{id}": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "deliveryDetail",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery detail with live order data"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderDeliveryController.deliveryDetail"
      }
    },
    "/rider/deliveries": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "myDeliveries",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own deliveries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.myDeliveries"
      }
    },
    "/rider/delivery-handover-eligible": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "deliveryHandoverEligible",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider's undelivered stops eligible for handover"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deliveryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.deliveryHandoverEligible"
      }
    },
    "/rider/delivery-handovers/incoming": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "incomingDeliveryHandovers",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delivery order handovers addressed to the calling rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.incomingDeliveryHandovers"
      }
    },
    "/rider/delivery-handovers/{id}/cancel": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "cancelDeliveryHandover",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sender cancelled a pending delivery handover"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderDeliveryController.cancelDeliveryHandover"
      }
    },
    "/rider/delivery-handovers/{id}/confirm": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "confirmDeliveryHandover",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Recipient accepted delivery orders from another rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderDeliveryController.confirmDeliveryHandover"
      }
    },
    "/rider/delivery-handovers": {
      "post": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "submitDeliveryHandover",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Selected delivery orders submitted for recipient acceptance"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "deliveryId",
                  "orderIds",
                  "handoverToRiderId"
                ],
                "properties": {
                  "deliveryId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "orderIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "handoverToRiderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderDeliveryController.submitDeliveryHandover"
      },
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "myDeliveryHandovers",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's outgoing delivery handovers"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.myDeliveryHandovers"
      }
    },
    "/rider/handover-riders": {
      "get": {
        "x-controller-name": "RiderDeliveryController",
        "x-operation-name": "handoverRiders",
        "tags": [
          "RiderDeliveryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Active riders eligible to receive a rider handover"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderDeliveryController.handoverRiders"
      }
    },
    "/rider/item-categories": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getItemCategories",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Active item categories, for the pickup-request itemCategoryEstimate picker",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemCategory"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.getItemCategories"
      }
    },
    "/rider/notifications/{id}/read": {
      "patch": {
        "x-controller-name": "RiderNotificationController",
        "x-operation-name": "markRead",
        "tags": [
          "RiderNotificationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Notification marked read"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderNotificationController.markRead"
      }
    },
    "/rider/notifications": {
      "get": {
        "x-controller-name": "RiderNotificationController",
        "x-operation-name": "myNotifications",
        "tags": [
          "RiderNotificationController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own notifications"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "RiderNotificationController.myNotifications"
      }
    },
    "/rider/performance": {
      "get": {
        "x-controller-name": "RiderPerformanceController",
        "x-operation-name": "performance",
        "tags": [
          "RiderPerformanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own completion performance for pickups or deliveries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPerformanceController.performance"
      }
    },
    "/rider/pickup-handovers/confirm": {
      "post": {
        "x-controller-name": "RiderPickupHandoverController",
        "x-operation-name": "confirmIncomingHandover",
        "tags": [
          "RiderPickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup handover confirmed received"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupHandoverController.confirmIncomingHandover"
      }
    },
    "/rider/pickup-handovers/incoming": {
      "get": {
        "x-controller-name": "RiderPickupHandoverController",
        "x-operation-name": "incomingHandovers",
        "tags": [
          "RiderPickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup handover batches directed to the calling rider by another rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupHandoverController.incomingHandovers"
      }
    },
    "/rider/pickup-handovers": {
      "post": {
        "x-controller-name": "RiderPickupHandoverController",
        "x-operation-name": "submitHandover",
        "tags": [
          "RiderPickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup handover batch submitted, with a code to show the receiver"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pickupRequestIds",
                  "handoverToType"
                ],
                "properties": {
                  "pickupRequestIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "handoverToType": {
                    "type": "string",
                    "enum": [
                      "store",
                      "rider"
                    ]
                  },
                  "handoverToStoreId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required when handoverToType is \"store\"."
                  },
                  "handoverToRiderId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required when handoverToType is \"rider\" — covers both \"Van\" and \"Rider\" in the app UI."
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupHandoverController.submitHandover"
      },
      "get": {
        "x-controller-name": "RiderPickupHandoverController",
        "x-operation-name": "myHandovers",
        "tags": [
          "RiderPickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider's own pickup handover batch history"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupHandoverController.myHandovers"
      }
    },
    "/rider/pickup-requests/handover-eligible": {
      "get": {
        "x-controller-name": "RiderPickupHandoverController",
        "x-operation-name": "handoverEligible",
        "tags": [
          "RiderPickupHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The rider's own picked-up requests not yet in a pending handover batch"
                }
              }
            }
          }
        },
        "operationId": "RiderPickupHandoverController.handoverEligible"
      }
    },
    "/rider/pickup-requests/{id}/escalations": {
      "post": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "raiseEscalation",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Escalation raised"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reason"
                ],
                "properties": {
                  "reason": {
                    "type": "string"
                  },
                  "remark": {
                    "type": "string"
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderPickupController.raiseEscalation"
      },
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "myEscalations",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Escalations the calling rider raised for this pickup"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPickupController.myEscalations"
      }
    },
    "/rider/pickup-requests/{id}/reprocess": {
      "post": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "reprocess",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request sent back out for another attempt"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPickupController.reprocess"
      }
    },
    "/rider/pickup-requests/{id}/status": {
      "patch": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "updateStatus",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pickup request status updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "out_for_pickup",
                      "arrived_at_pickup",
                      "picked_up",
                      "received_at_store",
                      "pickup_unsuccessful"
                    ]
                  },
                  "itemsByService": {
                    "type": "array",
                    "description": "Required when status is picked_up — real counts confirmed at the doorstep, one bag per service.",
                    "items": {
                      "type": "object",
                      "required": [
                        "serviceId",
                        "quantity",
                        "bagId"
                      ],
                      "properties": {
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number",
                          "minimum": 1
                        },
                        "bagId": {
                          "type": "string",
                          "format": "uuid",
                          "description": "This service's own bag, from GET /rider/bags/lookup — every service needs its own; the same bag cannot be reused for a different service on this pickup."
                        },
                        "deliverySpeed": {
                          "type": "string",
                          "enum": [
                            "standard",
                            "express",
                            "lightning"
                          ],
                          "description": "Real speed confirmed with the customer at the doorstep for this line — optional, but this is what the store should build the order against, not the pre-arrival estimate."
                        },
                        "remarks": {
                          "type": "string",
                          "description": "Optional rider note against this specific service line (e.g. a condition or count caveat noticed at the doorstep)."
                        },
                        "mediaIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "description": "Optional photo(s) backing this line's remark — upload via POST /files first, then pass the returned media id(s) here."
                        }
                      }
                    }
                  },
                  "reasons": {
                    "type": "array",
                    "description": "Required when status is pickup_unsuccessful — one or more PickupUnsuccessfulReason values.",
                    "items": {
                      "type": "string",
                      "enum": [
                        "customer_not_answering",
                        "not_approving_entry",
                        "denied_pickup",
                        "other"
                      ]
                    }
                  },
                  "otherReason": {
                    "type": "string",
                    "description": "Required when reasons includes \"other\"."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderPickupController.updateStatus"
      }
    },
    "/rider/pickup-requests": {
      "post": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "createPickupRequest",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Walk-in pickup request created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customerId",
                  "slotId",
                  "requestedDate",
                  "pickupNow"
                ],
                "properties": {
                  "customerId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "addressId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "One of the customer's saved addresses."
                  },
                  "address": {
                    "type": "string",
                    "description": "Inline address text — for a brand-new customer with nothing saved yet."
                  },
                  "slotId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "requestedDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "handoverBy": {
                    "type": "string",
                    "enum": [
                      "self",
                      "family_member",
                      "household_help"
                    ]
                  },
                  "handoverPersonName": {
                    "type": "string"
                  },
                  "itemCountEstimate": {
                    "type": "number"
                  },
                  "itemCategoryEstimate": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "quantity"
                      ],
                      "properties": {
                        "itemCategoryId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "deliverySpeed": {
                          "type": "string",
                          "enum": [
                            "standard",
                            "express",
                            "lightning"
                          ]
                        }
                      }
                    },
                    "description": "Per-category counts, plus estimate metadata for the store exec — service and delivery-speed preference are not binding, the real order is built after in-store inspection."
                  },
                  "deliveryGroupingPreference": {
                    "type": "string",
                    "enum": [
                      "together",
                      "as_ready"
                    ],
                    "description": "Estimate metadata for the store exec — deliver everything together vs as-and-when-ready."
                  },
                  "remarks": {
                    "type": "string",
                    "description": "Free-text special instructions for this pickup."
                  },
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "IDs returned by POST /files for any photos/voice notes attached to this pickup."
                  },
                  "pickupNow": {
                    "type": "boolean",
                    "description": "true: the rider is picking this up themselves, right now — self-assigns to them. Attaches to their current out_for_pickup run if they have one; otherwise creates a standalone rider_assigned request (storeId required). false: a request for later — created unassigned (requested) for an admin to schedule to whichever rider makes sense, not locked to whoever logged it. storeId is required."
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required when pickupNow is false, or when pickupNow is true but the rider has no active run to attach to — nothing to inherit it from either way."
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.createPickupRequest"
      },
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "myPickupRequests",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own pickup requests"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupController.myPickupRequests"
      }
    },
    "/rider/pickup-slots": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getPickupSlots",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Active pickup/delivery slots",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PickupDeliverySlot"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPickupController.getPickupSlots"
      }
    },
    "/rider/service-categories": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getServiceCategories",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Active service categories — fallback resolver for itemCategoryEstimate.itemCategoryId when it isn't a real item category id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceCategory"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.getServiceCategories"
      }
    },
    "/rider/services": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getServices",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Active, independent services with their own process — for the pickup-request itemCategoryEstimate picker. Excludes dependent add-on services (e.g. Presstoke, Repair) that only do real work when attached to another service, since a pickup estimate is standalone and has nothing for those to attach to.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Service"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.getServices"
      }
    },
    "/rider/stores": {
      "get": {
        "x-controller-name": "RiderPickupController",
        "x-operation-name": "getStores",
        "tags": [
          "RiderPickupController"
        ],
        "responses": {
          "200": {
            "description": "Active stores, for the pickup-request storeId picker",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Store"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPickupController.getStores"
      }
    },
    "/rider/transfers/{id}/status": {
      "patch": {
        "x-controller-name": "RiderTransferController",
        "x-operation-name": "startTransit",
        "tags": [
          "RiderTransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer marked in transit"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status",
                  "bagIds"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "in_transit"
                    ]
                  },
                  "bagIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Every bag belonging to this transfer, scanned by the rider before pickup — must exactly cover the transfer's full bag set or the status change is rejected."
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderTransferController.startTransit"
      }
    },
    "/rider/transfers/{id}": {
      "get": {
        "x-controller-name": "RiderTransferController",
        "x-operation-name": "transferDetail",
        "tags": [
          "RiderTransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer detail with the items in the bag"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderTransferController.transferDetail"
      }
    },
    "/rider/transfers": {
      "get": {
        "x-controller-name": "RiderTransferController",
        "x-operation-name": "myTransfers",
        "tags": [
          "RiderTransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own transfers"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderTransferController.myTransfers"
      }
    },
    "/rider/work-summary": {
      "get": {
        "x-controller-name": "RiderPerformanceController",
        "x-operation-name": "workSummary",
        "tags": [
          "RiderPerformanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The calling rider's own day-by-day work summary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderPerformanceController.workSummary"
      }
    },
    "/rider-cash-handovers/lookup": {
      "get": {
        "x-controller-name": "RiderCashHandoverController",
        "x-operation-name": "lookup",
        "tags": [
          "RiderCashHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash handover batch resolved by its scanned/entered code"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderCashHandoverController.lookup"
      }
    },
    "/rider-cash-handovers/pending-summary/{riderId}/history": {
      "get": {
        "x-controller-name": "RiderCashHandoverController",
        "x-operation-name": "pendingHistory",
        "tags": [
          "RiderCashHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Cash-collection history for one rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "riderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderCashHandoverController.pendingHistory"
      }
    },
    "/rider-cash-handovers/pending-summary": {
      "get": {
        "x-controller-name": "RiderCashHandoverController",
        "x-operation-name": "pendingSummary",
        "tags": [
          "RiderCashHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Per-rider cash-pending summary"
                }
              }
            }
          }
        },
        "operationId": "RiderCashHandoverController.pendingSummary"
      }
    },
    "/rider-cash-handovers/{id}/confirm": {
      "post": {
        "x-controller-name": "RiderCashHandoverController",
        "x-operation-name": "confirm",
        "tags": [
          "RiderCashHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Handover confirmed received"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderCashHandoverController.confirm"
      }
    },
    "/rider-cash-handovers": {
      "get": {
        "x-controller-name": "RiderCashHandoverController",
        "x-operation-name": "find",
        "tags": [
          "RiderCashHandoverController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Store-targeted rider cash handover batches"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderCashHandoverController.find"
      }
    },
    "/rider-cs-cases": {
      "get": {
        "x-controller-name": "RiderCsController",
        "x-operation-name": "find",
        "tags": [
          "RiderCsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Combined queue of rider-raised issues — escalations, unsuccessful pickups, and unsuccessful deliveries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderCsController.find"
      }
    },
    "/rider-notifications/count": {
      "get": {
        "x-controller-name": "RiderNotificationController",
        "x-operation-name": "count",
        "tags": [
          "RiderNotificationController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider notification count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "RiderNotificationController.count"
      }
    },
    "/rider-notifications": {
      "get": {
        "x-controller-name": "RiderNotificationController",
        "x-operation-name": "find",
        "tags": [
          "RiderNotificationController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider notifications sent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiderNotification.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RiderNotificationController.find"
      }
    },
    "/rider-pincode-mappings/count": {
      "get": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "count",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider pincode mapping count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "RiderPincodeMappingController.count"
      }
    },
    "/rider-pincode-mappings/{id}": {
      "patch": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "updateById",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pincode mapping updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pincode": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderPincodeMappingController.updateById"
      },
      "get": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "findById",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "One pincode mapping"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPincodeMappingController.findById"
      },
      "delete": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "deleteById",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pincode mapping deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPincodeMappingController.deleteById"
      }
    },
    "/rider-pincode-mappings": {
      "post": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "create",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Pincodes mapped to a rider"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "riderId",
                  "pincodes"
                ],
                "properties": {
                  "riderId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "pincodes": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderPincodeMappingController.create"
      },
      "get": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "find",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider pincode mappings"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiderPincodeMapping.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RiderPincodeMappingController.find"
      }
    },
    "/rider-rosters/{id}": {
      "patch": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "updateById",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Roster entry updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rosterType",
                  "startDate",
                  "endDate"
                ],
                "properties": {
                  "rosterType": {
                    "type": "string",
                    "enum": [
                      "leave",
                      "permission",
                      "work",
                      "other",
                      "break",
                      "week-off"
                    ]
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "startTime": {
                    "type": "string",
                    "description": "HH:mm"
                  },
                  "endTime": {
                    "type": "string",
                    "description": "HH:mm"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderRosterController.updateById"
      },
      "get": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "findById",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "One roster entry",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiderRosterWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderRosterController.findById"
      },
      "delete": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "deleteById",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Roster entry deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderRosterController.deleteById"
      }
    },
    "/rider-rosters": {
      "post": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "create",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Roster entry created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "riderId",
                  "rosterType",
                  "startDate",
                  "endDate"
                ],
                "properties": {
                  "rosterType": {
                    "type": "string",
                    "enum": [
                      "leave",
                      "permission",
                      "work",
                      "other",
                      "break",
                      "week-off"
                    ]
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "endDate": {
                    "type": "string",
                    "format": "date"
                  },
                  "startTime": {
                    "type": "string",
                    "description": "HH:mm"
                  },
                  "endTime": {
                    "type": "string",
                    "description": "HH:mm"
                  },
                  "description": {
                    "type": "string"
                  },
                  "riderId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderRosterController.create"
      },
      "get": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "find",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Roster entries with the rider"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiderRoster.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RiderRosterController.find"
      }
    },
    "/riders/availability": {
      "get": {
        "x-controller-name": "RiderAvailabilityController",
        "x-operation-name": "availability",
        "tags": [
          "RiderAvailabilityController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Live availability for every active rider"
                }
              }
            }
          }
        },
        "operationId": "RiderAvailabilityController.availability"
      }
    },
    "/riders/availability-for-slot": {
      "get": {
        "x-controller-name": "RiderAvailabilityController",
        "x-operation-name": "availabilityForSlot",
        "tags": [
          "RiderAvailabilityController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Which active riders are rostered off for the given date/slot"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slotId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderAvailabilityController.availabilityForSlot"
      }
    },
    "/riders/count": {
      "get": {
        "x-controller-name": "RiderController",
        "x-operation-name": "count",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderController.count"
      }
    },
    "/riders/export": {
      "get": {
        "x-controller-name": "RiderController",
        "x-operation-name": "exportRiders",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All matching rider profiles for Excel export"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rider.Filter"
                }
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderController.exportRiders"
      }
    },
    "/riders/{id}/attendance": {
      "get": {
        "x-controller-name": "RiderAttendanceController",
        "x-operation-name": "riderAttendance",
        "tags": [
          "RiderAttendanceController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Attendance history for a rider (admin)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderAttendanceController.riderAttendance"
      }
    },
    "/riders/{id}/pincodes": {
      "get": {
        "x-controller-name": "RiderPincodeMappingController",
        "x-operation-name": "forRider",
        "tags": [
          "RiderPincodeMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A rider's covered pincodes"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderPincodeMappingController.forRider"
      }
    },
    "/riders/{id}/rosters": {
      "get": {
        "x-controller-name": "RiderRosterController",
        "x-operation-name": "forRider",
        "tags": [
          "RiderRosterController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A rider’s roster entries"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderRosterController.forRider"
      }
    },
    "/riders/{id}": {
      "patch": {
        "x-controller-name": "RiderController",
        "x-operation-name": "updateById",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "riderType": {
                    "type": "string",
                    "enum": [
                      "van-rider",
                      "rider"
                    ]
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "countryCode": {
                    "type": "string"
                  },
                  "emailId": {
                    "type": "string",
                    "anyOf": [
                      {
                        "format": "email"
                      },
                      {
                        "maxLength": 0
                      }
                    ],
                    "description": "Optional; blank is accepted when no email is provided"
                  },
                  "alternateNumber": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RiderController.updateById"
      },
      "get": {
        "x-controller-name": "RiderController",
        "x-operation-name": "findById",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "Rider with login account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiderWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderController.findById"
      },
      "delete": {
        "x-controller-name": "RiderController",
        "x-operation-name": "deleteById",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider soft-deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RiderController.deleteById"
      }
    },
    "/riders": {
      "post": {
        "x-controller-name": "RiderController",
        "x-operation-name": "create",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "riderType",
                  "firstName",
                  "lastName",
                  "phone",
                  "address"
                ],
                "properties": {
                  "riderType": {
                    "type": "string",
                    "enum": [
                      "van-rider",
                      "rider"
                    ]
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string",
                    "description": "Login identity — 10 digits, unique"
                  },
                  "countryCode": {
                    "type": "string",
                    "default": "+91"
                  },
                  "emailId": {
                    "type": "string",
                    "anyOf": [
                      {
                        "format": "email"
                      },
                      {
                        "maxLength": 0
                      }
                    ],
                    "description": "Optional; blank is accepted when no email is provided"
                  },
                  "alternateNumber": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "doorFloorFlat": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RiderController.create"
      },
      "get": {
        "x-controller-name": "RiderController",
        "x-operation-name": "find",
        "tags": [
          "RiderController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of riders with their login account"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rider.Filter"
                }
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "RiderController.find"
      }
    },
    "/roles/{id}": {
      "patch": {
        "x-controller-name": "RolesController",
        "x-operation-name": "updateById",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Role updated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "loginAccess": {
                    "type": "boolean"
                  },
                  "permissionValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Full list of permission codes for this role — replaces all existing permissions"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RolesController.updateById"
      },
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "findById",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Roles model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolesWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Roles.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RolesController.findById"
      }
    },
    "/roles": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "create",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Role created"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "label",
                  "value"
                ],
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "loginAccess": {
                    "type": "boolean"
                  },
                  "permissionValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Permission codes to assign to this role"
                  }
                }
              }
            }
          }
        },
        "operationId": "RolesController.create"
      },
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "find",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Array of Roles model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Roles.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "RolesController.find"
      }
    },
    "/sales-returns/{id}/approve": {
      "post": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "approve",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales return approved"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesReturnController.approve"
      }
    },
    "/sales-returns/{id}/reject": {
      "post": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "reject",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales return rejected"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "SalesReturnController.reject"
      }
    },
    "/sales-returns": {
      "get": {
        "x-controller-name": "SalesReturnController",
        "x-operation-name": "listAll",
        "tags": [
          "SalesReturnController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales returns across all orders, optionally filtered by status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "SalesReturnController.listAll"
      }
    },
    "/service-categories/count": {
      "get": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "count",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ServiceCategory model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceCategory>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceCategoryController.count"
      }
    },
    "/service-categories/{id}": {
      "patch": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ServiceCategory PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceCategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceCategoryController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ServiceCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCategoryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCategory.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceCategoryController.findById"
      }
    },
    "/service-categories": {
      "post": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "create",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ServiceCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCategory"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewServiceCategory"
              }
            }
          }
        },
        "operationId": "ServiceCategoryController.create"
      },
      "patch": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "200": {
            "description": "ServiceCategory PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceCategory>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceCategoryPartial"
              }
            }
          }
        },
        "operationId": "ServiceCategoryController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceCategoryController",
        "x-operation-name": "find",
        "tags": [
          "ServiceCategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of ServiceCategory model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceCategoryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCategory.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceCategoryController.find"
      }
    },
    "/service-item-mappings/count": {
      "get": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "count",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceItemMapping model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceItemMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceItemMapping>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceItemMappingController.count"
      }
    },
    "/service-item-mappings/{id}": {
      "patch": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ServiceItemMapping PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceItemMappingPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceItemMappingController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceItemMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceItemMappingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceItemMapping.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceItemMappingController.findById"
      }
    },
    "/service-item-mappings": {
      "post": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "create",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceItemMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceItemMapping"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewServiceItemMapping"
              }
            }
          }
        },
        "operationId": "ServiceItemMappingController.create"
      },
      "patch": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceItemMapping PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceItemMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceItemMapping>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceItemMappingPartial"
              }
            }
          }
        },
        "operationId": "ServiceItemMappingController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceItemMappingController",
        "x-operation-name": "find",
        "tags": [
          "ServiceItemMappingController"
        ],
        "responses": {
          "200": {
            "description": "Array of ServiceItemMapping model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceItemMappingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceItemMapping.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceItemMappingController.find"
      }
    },
    "/service-item-prices/customer-overrides": {
      "get": {
        "x-controller-name": "ServiceItemPricesController",
        "x-operation-name": "getCustomerPriceOverrides",
        "tags": [
          "ServiceItemPricesController"
        ],
        "responses": {
          "200": {
            "description": "Prices that differ for this customer from the store price list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "serviceId": {
                        "type": "string"
                      },
                      "itemId": {
                        "type": "string"
                      },
                      "resolvedPrice": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ServiceItemPricesController.getCustomerPriceOverrides"
      }
    },
    "/service-item-prices": {
      "get": {
        "x-controller-name": "ServiceItemPricesController",
        "x-operation-name": "getServiceItemPrices",
        "tags": [
          "ServiceItemPricesController"
        ],
        "responses": {
          "200": {
            "description": "Resolved service-item prices for a store",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "serviceItemMappingId": {
                        "type": "string"
                      },
                      "serviceId": {
                        "type": "string"
                      },
                      "itemId": {
                        "type": "string"
                      },
                      "basePrice": {
                        "type": "number"
                      },
                      "resolvedPrice": {
                        "type": "number"
                      },
                      "priceSource": {
                        "type": "string",
                        "enum": [
                          "coupon",
                          "store",
                          "cluster",
                          "region",
                          "base"
                        ]
                      },
                      "appliedPercentage": {
                        "type": "number",
                        "nullable": true
                      },
                      "estimatedDurationInDays": {
                        "type": "number",
                        "nullable": true
                      },
                      "additionalServices": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "serviceId": {
                              "type": "string"
                            },
                            "serviceName": {
                              "type": "string"
                            },
                            "serviceCode": {
                              "type": "string"
                            },
                            "basePrice": {
                              "type": "number"
                            },
                            "resolvedPrice": {
                              "type": "number"
                            },
                            "estimatedDurationInDays": {
                              "type": "number",
                              "nullable": true
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ServiceItemPricesController.getServiceItemPrices"
      }
    },
    "/service-process-mappings/by-service/{serviceId}": {
      "get": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "findByService",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Process steps mapped to a service, ordered by sequence"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "serviceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ServiceProcessMappingController.findByService"
      }
    },
    "/service-process-mappings/count": {
      "get": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "count",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceProcessMapping model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceProcessMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceProcessMapping>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceProcessMappingController.count"
      }
    },
    "/service-process-mappings/{id}": {
      "patch": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "ServiceProcessMapping PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceProcessMappingPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceProcessMappingController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceProcessMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceProcessMappingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceProcessMapping.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceProcessMappingController.findById"
      }
    },
    "/service-process-mappings": {
      "post": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "create",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceProcessMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceProcessMapping"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewServiceProcessMapping"
              }
            }
          }
        },
        "operationId": "ServiceProcessMappingController.create"
      },
      "patch": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "ServiceProcessMapping PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ServiceProcessMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ServiceProcessMapping>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceProcessMappingPartial"
              }
            }
          }
        },
        "operationId": "ServiceProcessMappingController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceProcessMappingController",
        "x-operation-name": "find",
        "tags": [
          "ServiceProcessMappingController"
        ],
        "responses": {
          "200": {
            "description": "Array of ServiceProcessMapping model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceProcessMappingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceProcessMapping.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceProcessMappingController.find"
      }
    },
    "/services/count": {
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "count",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.count"
      }
    },
    "/services/{id}": {
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Service PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.findById"
      }
    },
    "/services": {
      "post": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "create",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewService"
              }
            }
          }
        },
        "operationId": "ServiceController.create"
      },
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          }
        },
        "operationId": "ServiceController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "find",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.find"
      }
    },
    "/shifts/active": {
      "get": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "active",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The store's currently open shift, if any"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ShiftController.active"
      }
    },
    "/shifts/{id}/close": {
      "post": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "close",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Shift closed"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ShiftController.close"
      }
    },
    "/shifts/{id}/collected": {
      "get": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "collected",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Real collections during this shift, bucketed for the closing form"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ShiftController.collected"
      }
    },
    "/shifts/{id}": {
      "get": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "findById",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Shift detail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ShiftController.findById"
      }
    },
    "/shifts": {
      "post": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "open",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Shift opened"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "openingBalances",
                  "remarks"
                ],
                "properties": {
                  "openingBalances": {
                    "type": "object",
                    "required": [
                      "cashInTill",
                      "banking",
                      "pettyCash",
                      "prepaidVouchers"
                    ],
                    "properties": {
                      "cashInTill": {
                        "type": "object",
                        "required": [
                          "actual"
                        ],
                        "properties": {
                          "actual": {
                            "type": "number"
                          },
                          "denominations": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number",
                              "minimum": 0
                            }
                          }
                        }
                      },
                      "banking": {
                        "type": "object",
                        "required": [
                          "actual"
                        ],
                        "properties": {
                          "actual": {
                            "type": "number"
                          },
                          "denominations": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number",
                              "minimum": 0
                            }
                          }
                        }
                      },
                      "pettyCash": {
                        "type": "object",
                        "required": [
                          "actual"
                        ],
                        "properties": {
                          "actual": {
                            "type": "number"
                          },
                          "denominations": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number",
                              "minimum": 0
                            }
                          }
                        }
                      },
                      "prepaidVouchers": {
                        "type": "object",
                        "required": [
                          "actual"
                        ],
                        "properties": {
                          "actual": {
                            "type": "number"
                          },
                          "denominations": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number",
                              "minimum": 0
                            }
                          }
                        }
                      }
                    }
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "storeId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Required only for a caller with no fixed Employee.storeId (manager, super_admin)."
                  }
                }
              }
            }
          }
        },
        "operationId": "ShiftController.open"
      },
      "get": {
        "x-controller-name": "ShiftController",
        "x-operation-name": "find",
        "tags": [
          "ShiftController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Shifts, filtered by store/status, paginated"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "closedFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "closedTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ShiftController.find"
      }
    },
    "/stains/count": {
      "get": {
        "x-controller-name": "StainController",
        "x-operation-name": "count",
        "tags": [
          "StainController"
        ],
        "responses": {
          "200": {
            "description": "Stain model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Stain.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Stain>"
                }
              }
            }
          }
        ],
        "operationId": "StainController.count"
      }
    },
    "/stains/{id}": {
      "patch": {
        "x-controller-name": "StainController",
        "x-operation-name": "updateById",
        "tags": [
          "StainController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Stain PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StainPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StainController.updateById"
      },
      "get": {
        "x-controller-name": "StainController",
        "x-operation-name": "findById",
        "tags": [
          "StainController"
        ],
        "responses": {
          "200": {
            "description": "Stain model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StainWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Stain.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StainController.findById"
      }
    },
    "/stains": {
      "post": {
        "x-controller-name": "StainController",
        "x-operation-name": "create",
        "tags": [
          "StainController"
        ],
        "responses": {
          "200": {
            "description": "Stain model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Stain"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStain"
              }
            }
          }
        },
        "operationId": "StainController.create"
      },
      "patch": {
        "x-controller-name": "StainController",
        "x-operation-name": "updateAll",
        "tags": [
          "StainController"
        ],
        "responses": {
          "200": {
            "description": "Stain PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Stain.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Stain>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StainPartial"
              }
            }
          }
        },
        "operationId": "StainController.updateAll"
      },
      "get": {
        "x-controller-name": "StainController",
        "x-operation-name": "find",
        "tags": [
          "StainController"
        ],
        "responses": {
          "200": {
            "description": "Array of Stain model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StainWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Stain.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StainController.find"
      }
    },
    "/store-price-overrides/count": {
      "get": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "count",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "200": {
            "description": "StorePriceOverride model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "StorePriceOverride.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<StorePriceOverride>"
                }
              }
            }
          }
        ],
        "operationId": "StorePriceOverrideController.count"
      }
    },
    "/store-price-overrides/{id}": {
      "patch": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "updateById",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "StorePriceOverride PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePriceOverridePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StorePriceOverrideController.updateById"
      },
      "get": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "findById",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "200": {
            "description": "StorePriceOverride model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorePriceOverrideWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorePriceOverride.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StorePriceOverrideController.findById"
      }
    },
    "/store-price-overrides": {
      "post": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "create",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "200": {
            "description": "StorePriceOverride model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorePriceOverride"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStorePriceOverride"
              }
            }
          }
        },
        "operationId": "StorePriceOverrideController.create"
      },
      "patch": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "updateAll",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "200": {
            "description": "StorePriceOverride PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "StorePriceOverride.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<StorePriceOverride>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePriceOverridePartial"
              }
            }
          }
        },
        "operationId": "StorePriceOverrideController.updateAll"
      },
      "get": {
        "x-controller-name": "StorePriceOverrideController",
        "x-operation-name": "find",
        "tags": [
          "StorePriceOverrideController"
        ],
        "responses": {
          "200": {
            "description": "Array of StorePriceOverride model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StorePriceOverrideWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorePriceOverride.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StorePriceOverrideController.find"
      }
    },
    "/store-service-mappings/count": {
      "get": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "count",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "StoreServiceMapping model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "StoreServiceMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<StoreServiceMapping>"
                }
              }
            }
          }
        ],
        "operationId": "StoreServiceMappingController.count"
      }
    },
    "/store-service-mappings/{id}": {
      "patch": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "updateById",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "StoreServiceMapping PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreServiceMappingPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StoreServiceMappingController.updateById"
      },
      "get": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "findById",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "StoreServiceMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreServiceMappingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreServiceMapping.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StoreServiceMappingController.findById"
      }
    },
    "/store-service-mappings": {
      "post": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "create",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "StoreServiceMapping model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreServiceMapping"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStoreServiceMapping"
              }
            }
          }
        },
        "operationId": "StoreServiceMappingController.create"
      },
      "patch": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "updateAll",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "StoreServiceMapping PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "StoreServiceMapping.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<StoreServiceMapping>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreServiceMappingPartial"
              }
            }
          }
        },
        "operationId": "StoreServiceMappingController.updateAll"
      },
      "get": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "find",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "Array of StoreServiceMapping model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreServiceMappingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreServiceMapping.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StoreServiceMappingController.find"
      }
    },
    "/stores/count": {
      "get": {
        "x-controller-name": "StoreController",
        "x-operation-name": "count",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "200": {
            "description": "Store model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Store.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Store>"
                }
              }
            }
          }
        ],
        "operationId": "StoreController.count"
      }
    },
    "/stores/{storeId}/monthly-targets": {
      "post": {
        "x-controller-name": "StoreMonthlyTargetController",
        "x-operation-name": "upsert",
        "tags": [
          "StoreMonthlyTargetController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A store's item/service/revenue targets for every month of a year, after saving"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "year",
                  "months"
                ],
                "properties": {
                  "year": {
                    "type": "number"
                  },
                  "months": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "month"
                      ],
                      "properties": {
                        "month": {
                          "type": "number"
                        },
                        "itemTarget": {
                          "type": "number",
                          "nullable": true
                        },
                        "serviceTarget": {
                          "type": "number",
                          "nullable": true
                        },
                        "revenueTarget": {
                          "type": "number",
                          "nullable": true
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StoreMonthlyTargetController.upsert"
      },
      "get": {
        "x-controller-name": "StoreMonthlyTargetController",
        "x-operation-name": "find",
        "tags": [
          "StoreMonthlyTargetController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "A store's item/service/revenue targets for every month of a year"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "year",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "StoreMonthlyTargetController.find"
      }
    },
    "/stores/{storeId}/service-capacity": {
      "get": {
        "x-controller-name": "StoreServiceMappingController",
        "x-operation-name": "serviceCapacity",
        "tags": [
          "StoreServiceMappingController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Per-service capacity (available / filled) for a store on a date"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "date",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "StoreServiceMappingController.serviceCapacity"
      }
    },
    "/stores/{id}": {
      "patch": {
        "x-controller-name": "StoreController",
        "x-operation-name": "updateById",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Store PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StoreController.updateById"
      },
      "get": {
        "x-controller-name": "StoreController",
        "x-operation-name": "findById",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "200": {
            "description": "Store model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Store.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StoreController.findById"
      }
    },
    "/stores": {
      "post": {
        "x-controller-name": "StoreController",
        "x-operation-name": "create",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "200": {
            "description": "Store model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Store"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStore"
              }
            }
          }
        },
        "operationId": "StoreController.create"
      },
      "patch": {
        "x-controller-name": "StoreController",
        "x-operation-name": "updateAll",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "200": {
            "description": "Store PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Store.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Store>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePartial"
              }
            }
          }
        },
        "operationId": "StoreController.updateAll"
      },
      "get": {
        "x-controller-name": "StoreController",
        "x-operation-name": "find",
        "tags": [
          "StoreController"
        ],
        "responses": {
          "200": {
            "description": "Array of Store model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Store.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StoreController.find"
      }
    },
    "/system-notifications/all": {
      "get": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "findAll",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "All system notifications (admin query)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SystemNotification"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemNotification.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SystemNotificationController.findAll"
      }
    },
    "/system-notifications/broadcast-super-admins": {
      "post": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "broadcastSuperAdmins",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "Broadcast notification to all super admins",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "title",
                  "body",
                  "template"
                ],
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "body": {
                    "type": "string"
                  },
                  "template": {
                    "type": "string"
                  },
                  "pathname": {
                    "type": "string"
                  },
                  "extraDetails": {
                    "type": "object"
                  },
                  "remark": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "SystemNotificationController.broadcastSuperAdmins"
      }
    },
    "/system-notifications/mark-as-read": {
      "patch": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "markAllAsRead",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "Mark all notifications as read",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "SystemNotificationController.markAllAsRead"
      }
    },
    "/system-notifications/{id}/mark-as-read": {
      "patch": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "markAsReadById",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "Mark a single notification as read",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SystemNotificationController.markAsReadById"
      }
    },
    "/system-notifications/{id}": {
      "get": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "findById",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "System notification details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemNotification"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SystemNotificationController.findById"
      },
      "delete": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "deleteById",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "System notification deleted"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SystemNotificationController.deleteById"
      }
    },
    "/system-notifications": {
      "post": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "create",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "Create a system notification",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemNotification"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewSystemNotification"
              }
            }
          }
        },
        "operationId": "SystemNotificationController.create"
      },
      "get": {
        "x-controller-name": "SystemNotificationController",
        "x-operation-name": "getMyNotifications",
        "tags": [
          "SystemNotificationController"
        ],
        "responses": {
          "200": {
            "description": "Notifications for the current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "notifications": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SystemNotification"
                      }
                    },
                    "unreadCount": {
                      "type": "number"
                    },
                    "allCount": {
                      "type": "number"
                    },
                    "totalCount": {
                      "type": "number",
                      "description": "Notifications matching filter.where (for paging); equals allCount without a where"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemNotification.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SystemNotificationController.getMyNotifications"
      }
    },
    "/transfer-custody-events": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "listCustodyEvents",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Custody/trail log, filterable by tag/transfer/store/date"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentTag",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transferId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TransferController.listCustodyEvents"
      }
    },
    "/transfers/eligible-items": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "eligibleItems",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Orders + garment-level items at a store, eligible to transfer out"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TransferController.eligibleItems"
      }
    },
    "/transfers/export": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "exportTransfers",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "All matching transfers for Excel export, within the caller store scope"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TransferController.exportTransfers"
      }
    },
    "/transfers/item/{garmentTag}": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "trackItem",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Current transfer/bag/store location for one garment tag"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "garmentTag",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransferController.trackItem"
      }
    },
    "/transfers/lookup": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "lookup",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Exact scoped transit or bag lookup, independent of table pagination"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "scan",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TransferController.lookup"
      }
    },
    "/transfers/stats": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "stats",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Summary counts for the All Transfers screen"
                }
              }
            }
          }
        },
        "operationId": "TransferController.stats"
      }
    },
    "/transfers/{id}/assign-rider": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "assignRider",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Rider assigned to this transfer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "riderId"
                ],
                "properties": {
                  "riderId": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransferController.assignRider"
      }
    },
    "/transfers/{id}/receive": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "receive",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer received (clean or with discrepancies)"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "receivedGarmentIds"
                ],
                "properties": {
                  "receivedGarmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "extraGarmentTagNumbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransferController.receive"
      }
    },
    "/transfers/{id}/resolve-discrepancy": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "resolveDiscrepancy",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Discrepancy resolved, bag released"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "remarks"
                ],
                "properties": {
                  "foundGarmentIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransferController.resolveDiscrepancy"
      }
    },
    "/transfers/{id}/return-batch": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "returnBatch",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Return-batch transfer created and sent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bagId",
                  "garmentIds"
                ],
                "properties": {
                  "bagId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "garmentIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TransferController.returnBatch"
      }
    },
    "/transfers/{id}/test-mark-in-transit": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "testMarkInTransit",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TEST ONLY — transfer marked in transit without a real rider call"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransferController.testMarkInTransit"
      }
    },
    "/transfers/{id}": {
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "findById",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer detail with items and custody trail"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TransferController.findById"
      }
    },
    "/transfers": {
      "post": {
        "x-controller-name": "TransferController",
        "x-operation-name": "create",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfer created and sent"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fromStoreId",
                  "toStoreId",
                  "garmentIds"
                ],
                "properties": {
                  "fromStoreId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "toStoreId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "bagId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "bags": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "required": [
                        "bagId",
                        "garmentIds"
                      ],
                      "properties": {
                        "bagId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "garmentIds": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        }
                      }
                    }
                  },
                  "reason": {
                    "type": "string"
                  },
                  "remarks": {
                    "type": "string"
                  },
                  "garmentIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "TransferController.create"
      },
      "get": {
        "x-controller-name": "TransferController",
        "x-operation-name": "find",
        "tags": [
          "TransferController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Transfers, filtered by direction/status/rider/store/date"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "riderId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TransferController.find"
      }
    },
    "/wallet-configuration": {
      "post": {
        "x-controller-name": "WalletConfigurationController",
        "x-operation-name": "create",
        "tags": [
          "WalletConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "WalletConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletConfiguration"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWalletConfiguration"
              }
            }
          }
        },
        "operationId": "WalletConfigurationController.create"
      },
      "patch": {
        "x-controller-name": "WalletConfigurationController",
        "x-operation-name": "update",
        "tags": [
          "WalletConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "WalletConfiguration PATCH success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WalletConfigurationPartial"
              }
            }
          }
        },
        "operationId": "WalletConfigurationController.update"
      },
      "get": {
        "x-controller-name": "WalletConfigurationController",
        "x-operation-name": "find",
        "tags": [
          "WalletConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "WalletConfiguration singleton",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletConfiguration"
                }
              }
            }
          }
        },
        "operationId": "WalletConfigurationController.find"
      }
    },
    "/warehouses/count": {
      "get": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "count",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "200": {
            "description": "Warehouse model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Warehouse.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Warehouse>"
                }
              }
            }
          }
        ],
        "operationId": "WarehouseController.count"
      }
    },
    "/warehouses/{id}": {
      "patch": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "updateById",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Warehouse PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WarehouseController.updateById"
      },
      "get": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "findById",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "200": {
            "description": "Warehouse model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse.Filter"
                }
              }
            }
          }
        ],
        "operationId": "WarehouseController.findById"
      }
    },
    "/warehouses": {
      "post": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "create",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "200": {
            "description": "Warehouse model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWarehouse"
              }
            }
          }
        },
        "operationId": "WarehouseController.create"
      },
      "patch": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "updateAll",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "200": {
            "description": "Warehouse PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Warehouse.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Warehouse>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousePartial"
              }
            }
          }
        },
        "operationId": "WarehouseController.updateAll"
      },
      "get": {
        "x-controller-name": "WarehouseController",
        "x-operation-name": "find",
        "tags": [
          "WarehouseController"
        ],
        "responses": {
          "200": {
            "description": "Array of Warehouse model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WarehouseWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "WarehouseController.find"
      }
    },
    "/webhooks/razorpay": {
      "post": {
        "x-controller-name": "GatewayPaymentController",
        "x-operation-name": "webhook",
        "tags": [
          "GatewayPaymentController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Webhook acknowledged"
                }
              }
            }
          }
        },
        "operationId": "GatewayPaymentController.webhook"
      }
    }
  },
  "servers": [
    {
      "url": "https://staging-pulse-api.technorthstar.com"
    }
  ],
  "components": {
    "schemas": {
      "Warehouse": {
        "title": "Warehouse",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewWarehouse": {
        "title": "NewWarehouse",
        "type": "object",
        "description": "(tsType: Omit<Warehouse, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewWarehouse', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Warehouse, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Region": {
        "title": "Region",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code",
          "state"
        ],
        "additionalProperties": false
      },
      "WarehouseWithRelations": {
        "title": "WarehouseWithRelations",
        "type": "object",
        "description": "(tsType: WarehouseWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "foreignKey": {}
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "WarehouseWithRelations"
      },
      "WarehousePartial": {
        "title": "WarehousePartial",
        "type": "object",
        "description": "(tsType: Partial<Warehouse>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Warehouse>"
      },
      "WalletConfiguration": {
        "title": "WalletConfiguration",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "minimumDepositAmount": {
            "type": "number"
          },
          "maximumDepositAmount": {
            "type": "number"
          },
          "minimumWalletBalance": {
            "type": "number"
          },
          "maximumWalletBalance": {
            "type": "number"
          },
          "walletDiscountEnabled": {
            "type": "boolean"
          },
          "walletDiscountPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "minimumDepositAmount",
          "maximumDepositAmount",
          "minimumWalletBalance",
          "maximumWalletBalance"
        ],
        "additionalProperties": false
      },
      "NewWalletConfiguration": {
        "title": "NewWalletConfiguration",
        "type": "object",
        "description": "(tsType: Omit<WalletConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewWalletConfiguration', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "minimumDepositAmount": {
            "type": "number"
          },
          "maximumDepositAmount": {
            "type": "number"
          },
          "minimumWalletBalance": {
            "type": "number"
          },
          "maximumWalletBalance": {
            "type": "number"
          },
          "walletDiscountEnabled": {
            "type": "boolean"
          },
          "walletDiscountPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "minimumDepositAmount",
          "maximumDepositAmount",
          "minimumWalletBalance",
          "maximumWalletBalance"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<WalletConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "WalletConfigurationPartial": {
        "title": "WalletConfigurationPartial",
        "type": "object",
        "description": "(tsType: Partial<WalletConfiguration>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "minimumDepositAmount": {
            "type": "number"
          },
          "maximumDepositAmount": {
            "type": "number"
          },
          "minimumWalletBalance": {
            "type": "number"
          },
          "maximumWalletBalance": {
            "type": "number"
          },
          "walletDiscountEnabled": {
            "type": "boolean"
          },
          "walletDiscountPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<WalletConfiguration>"
      },
      "SystemNotification": {
        "title": "SystemNotification",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "pathname": {
            "type": "string"
          },
          "status": {
            "type": "number"
          },
          "extraDetails": {
            "type": "object"
          },
          "remark": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "title",
          "body",
          "template"
        ],
        "additionalProperties": false
      },
      "NewSystemNotification": {
        "title": "NewSystemNotification",
        "type": "object",
        "description": "(tsType: Omit<SystemNotification, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewSystemNotification', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "pathname": {
            "type": "string"
          },
          "status": {
            "type": "number"
          },
          "extraDetails": {
            "type": "object"
          },
          "remark": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "title",
          "body",
          "template"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<SystemNotification, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Store": {
        "title": "Store",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "storePrefix": {
            "type": "string"
          },
          "isPrefixLocked": {
            "type": "boolean"
          },
          "orderNumberSequence": {
            "type": "number"
          },
          "storeType": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code",
          "storeType",
          "address",
          "city",
          "state",
          "pincode"
        ],
        "additionalProperties": false
      },
      "NewStore": {
        "title": "NewStore",
        "type": "object",
        "description": "(tsType: Omit<Store, 'id' | 'code' | 'orderNumberSequence' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewStore', exclude: [ 'id', 'code', 'orderNumberSequence', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "clusterId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "storePrefix": {
            "type": "string"
          },
          "isPrefixLocked": {
            "type": "boolean"
          },
          "storeType": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "storeType",
          "address",
          "city",
          "state",
          "pincode"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Store, 'id' | 'code' | 'orderNumberSequence' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Cluster": {
        "title": "Cluster",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterType": {
            "type": "string"
          },
          "pincodes": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code",
          "clusterType"
        ],
        "additionalProperties": false
      },
      "StoreWithRelations": {
        "title": "StoreWithRelations",
        "type": "object",
        "description": "(tsType: StoreWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "storePrefix": {
            "type": "string"
          },
          "isPrefixLocked": {
            "type": "boolean"
          },
          "orderNumberSequence": {
            "type": "number"
          },
          "storeType": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "cluster": {
            "$ref": "#/components/schemas/Cluster"
          },
          "foreignKey": {}
        },
        "required": [
          "name",
          "code",
          "storeType",
          "address",
          "city",
          "state",
          "pincode"
        ],
        "additionalProperties": false,
        "x-typescript-type": "StoreWithRelations"
      },
      "StorePartial": {
        "title": "StorePartial",
        "type": "object",
        "description": "(tsType: Partial<Store>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "storePrefix": {
            "type": "string"
          },
          "isPrefixLocked": {
            "type": "boolean"
          },
          "orderNumberSequence": {
            "type": "number"
          },
          "storeType": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Store>"
      },
      "StoreServiceMapping": {
        "title": "StoreServiceMapping",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "dailyCapacity": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "NewStoreServiceMapping": {
        "title": "NewStoreServiceMapping",
        "type": "object",
        "description": "(tsType: Omit<StoreServiceMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewStoreServiceMapping', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "storeId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "dailyCapacity": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<StoreServiceMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Service": {
        "title": "Service",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "estimatedDurationInHours": {
            "type": "number"
          },
          "dependencyType": {
            "type": "string",
            "enum": [
              "independent",
              "dependent"
            ]
          },
          "hasOwnProcess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "serviceCategoryId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "code",
          "estimatedDurationInHours"
        ],
        "additionalProperties": false
      },
      "StoreServiceMappingWithRelations": {
        "title": "StoreServiceMappingWithRelations",
        "type": "object",
        "description": "(tsType: StoreServiceMappingWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "dailyCapacity": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "store": {
            "$ref": "#/components/schemas/Store"
          },
          "foreignKey": {},
          "service": {
            "$ref": "#/components/schemas/Service"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "StoreServiceMappingWithRelations"
      },
      "StoreServiceMappingPartial": {
        "title": "StoreServiceMappingPartial",
        "type": "object",
        "description": "(tsType: Partial<StoreServiceMapping>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "dailyCapacity": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<StoreServiceMapping>"
      },
      "StorePriceOverride": {
        "title": "StorePriceOverride",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "percentage"
        ],
        "additionalProperties": false
      },
      "NewStorePriceOverride": {
        "title": "NewStorePriceOverride",
        "type": "object",
        "description": "(tsType: Omit<StorePriceOverride, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewStorePriceOverride', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "storeId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "percentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<StorePriceOverride, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "StorePriceOverrideWithRelations": {
        "title": "StorePriceOverrideWithRelations",
        "type": "object",
        "description": "(tsType: StorePriceOverrideWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "store": {
            "$ref": "#/components/schemas/Store"
          },
          "foreignKey": {}
        },
        "required": [
          "percentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "StorePriceOverrideWithRelations"
      },
      "StorePriceOverridePartial": {
        "title": "StorePriceOverridePartial",
        "type": "object",
        "description": "(tsType: Partial<StorePriceOverride>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<StorePriceOverride>"
      },
      "Stain": {
        "title": "Stain",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewStain": {
        "title": "NewStain",
        "type": "object",
        "description": "(tsType: Omit<Stain, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewStain', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Stain, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "StainWithRelations": {
        "title": "StainWithRelations",
        "type": "object",
        "description": "(tsType: StainWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "StainWithRelations"
      },
      "StainPartial": {
        "title": "StainPartial",
        "type": "object",
        "description": "(tsType: Partial<Stain>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Stain>"
      },
      "NewService": {
        "title": "NewService",
        "type": "object",
        "description": "(tsType: Omit<Service, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewService', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "estimatedDurationInHours": {
            "type": "number"
          },
          "dependencyType": {
            "type": "string",
            "enum": [
              "independent",
              "dependent"
            ]
          },
          "hasOwnProcess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "serviceCategoryId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "estimatedDurationInHours"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Service, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Media": {
        "title": "Media",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fileOriginalName": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "fileUrl": {
            "type": "string"
          },
          "fileLocation": {
            "type": "string"
          },
          "fileType": {
            "type": "string"
          },
          "isUsed": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "fileOriginalName",
          "fileName",
          "fileUrl",
          "fileLocation",
          "fileType"
        ],
        "additionalProperties": false
      },
      "ServiceCategory": {
        "title": "ServiceCategory",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "newservicetat": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "Item": {
        "title": "Item",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isMeasurement": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "itemCategoryId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "ProcessStep": {
        "title": "ProcessStep",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "ServiceWithRelations": {
        "title": "ServiceWithRelations",
        "type": "object",
        "description": "(tsType: ServiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "estimatedDurationInHours": {
            "type": "number"
          },
          "dependencyType": {
            "type": "string",
            "enum": [
              "independent",
              "dependent"
            ]
          },
          "hasOwnProcess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "serviceCategoryId": {
            "type": "string"
          },
          "media": {
            "$ref": "#/components/schemas/Media"
          },
          "foreignKey": {},
          "serviceCategory": {
            "$ref": "#/components/schemas/ServiceCategory"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          },
          "processSteps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcessStep"
            }
          }
        },
        "required": [
          "name",
          "code",
          "estimatedDurationInHours"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceWithRelations"
      },
      "ServicePartial": {
        "title": "ServicePartial",
        "type": "object",
        "description": "(tsType: Partial<Service>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "estimatedDurationInHours": {
            "type": "number"
          },
          "dependencyType": {
            "type": "string",
            "enum": [
              "independent",
              "dependent"
            ]
          },
          "hasOwnProcess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "serviceCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Service>"
      },
      "ServiceProcessMapping": {
        "title": "ServiceProcessMapping",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "processStepId": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "isInitial": {
            "type": "boolean"
          },
          "isMandatory": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rolesId": {
            "type": "string"
          }
        },
        "required": [
          "serviceId",
          "processStepId",
          "sequence"
        ],
        "additionalProperties": false
      },
      "NewServiceProcessMapping": {
        "title": "NewServiceProcessMapping",
        "type": "object",
        "description": "(tsType: Omit<ServiceProcessMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewServiceProcessMapping', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "serviceId": {
            "type": "string"
          },
          "processStepId": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "isInitial": {
            "type": "boolean"
          },
          "isMandatory": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "rolesId": {
            "type": "string"
          }
        },
        "required": [
          "serviceId",
          "processStepId",
          "sequence"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ServiceProcessMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "Roles": {
        "title": "Roles",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "scope": {
            "type": "string",
            "enum": [
              "store",
              "cluster",
              "region"
            ]
          },
          "isLocked": {
            "type": "boolean"
          },
          "loginAccess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "value"
        ],
        "additionalProperties": false
      },
      "ServiceProcessMappingWithRelations": {
        "title": "ServiceProcessMappingWithRelations",
        "type": "object",
        "description": "(tsType: ServiceProcessMappingWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "processStepId": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "isInitial": {
            "type": "boolean"
          },
          "isMandatory": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rolesId": {
            "type": "string"
          },
          "roles": {
            "$ref": "#/components/schemas/Roles"
          },
          "foreignKey": {}
        },
        "required": [
          "serviceId",
          "processStepId",
          "sequence"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceProcessMappingWithRelations"
      },
      "ServiceProcessMappingPartial": {
        "title": "ServiceProcessMappingPartial",
        "type": "object",
        "description": "(tsType: Partial<ServiceProcessMapping>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "processStepId": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "isInitial": {
            "type": "boolean"
          },
          "isMandatory": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rolesId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ServiceProcessMapping>"
      },
      "ServiceItemMapping": {
        "title": "ServiceItemMapping",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "basePrice": {
            "type": "number"
          },
          "estimatedDurationInDays": {
            "type": "number"
          },
          "additionalServiceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "serviceId",
          "itemId",
          "basePrice"
        ],
        "additionalProperties": false
      },
      "NewServiceItemMapping": {
        "title": "NewServiceItemMapping",
        "type": "object",
        "description": "(tsType: Omit<ServiceItemMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewServiceItemMapping', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "basePrice": {
            "type": "number"
          },
          "estimatedDurationInDays": {
            "type": "number"
          },
          "additionalServiceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "serviceId",
          "itemId",
          "basePrice"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ServiceItemMapping, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ServiceItemMappingWithRelations": {
        "title": "ServiceItemMappingWithRelations",
        "type": "object",
        "description": "(tsType: ServiceItemMappingWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "basePrice": {
            "type": "number"
          },
          "estimatedDurationInDays": {
            "type": "number"
          },
          "additionalServiceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "serviceId",
          "itemId",
          "basePrice"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceItemMappingWithRelations"
      },
      "ServiceItemMappingPartial": {
        "title": "ServiceItemMappingPartial",
        "type": "object",
        "description": "(tsType: Partial<ServiceItemMapping>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "basePrice": {
            "type": "number"
          },
          "estimatedDurationInDays": {
            "type": "number"
          },
          "additionalServiceIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ServiceItemMapping>"
      },
      "NewServiceCategory": {
        "title": "NewServiceCategory",
        "type": "object",
        "description": "(tsType: Omit<ServiceCategory, 'id' | 'code'>, schemaOptions: { title: 'NewServiceCategory', exclude: [ 'id', 'code' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "newservicetat": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ServiceCategory, 'id' | 'code'>"
      },
      "ServiceCategoryWithRelations": {
        "title": "ServiceCategoryWithRelations",
        "type": "object",
        "description": "(tsType: ServiceCategoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "newservicetat": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Service"
            }
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceCategoryWithRelations"
      },
      "ServiceCategoryPartial": {
        "title": "ServiceCategoryPartial",
        "type": "object",
        "description": "(tsType: Partial<ServiceCategory>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "newservicetat": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ServiceCategory>"
      },
      "Permissions": {
        "title": "Permissions",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "permission"
        ],
        "additionalProperties": false
      },
      "Users": {
        "title": "Users",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "resetPasswordOtp": {
            "type": "string"
          },
          "resetPasswordOtpExpires": {
            "type": "string",
            "format": "date-time"
          },
          "loginOtp": {
            "type": "string"
          },
          "loginOtpExpires": {
            "type": "string",
            "format": "date-time"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "username",
          "countryCode",
          "phone"
        ],
        "additionalProperties": false
      },
      "RolesWithRelations": {
        "title": "RolesWithRelations",
        "type": "object",
        "description": "(tsType: RolesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "scope": {
            "type": "string",
            "enum": [
              "store",
              "cluster",
              "region"
            ]
          },
          "isLocked": {
            "type": "boolean"
          },
          "loginAccess": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Permissions"
            }
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Users"
            }
          }
        },
        "required": [
          "label",
          "value"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RolesWithRelations"
      },
      "RiderWithRelations": {
        "title": "RiderWithRelations",
        "type": "object",
        "description": "(tsType: RiderWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "riderCode": {
            "type": "string"
          },
          "riderType": {
            "type": "string",
            "enum": [
              "van-rider",
              "rider"
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "alternateNumber": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "doorFloorFlat": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/Users"
          },
          "foreignKey": {}
        },
        "required": [
          "riderCode",
          "riderType",
          "firstName",
          "lastName",
          "address"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RiderWithRelations"
      },
      "Rider": {
        "title": "Rider",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "riderCode": {
            "type": "string"
          },
          "riderType": {
            "type": "string",
            "enum": [
              "van-rider",
              "rider"
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "alternateNumber": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "doorFloorFlat": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "riderCode",
          "riderType",
          "firstName",
          "lastName",
          "address"
        ],
        "additionalProperties": false
      },
      "RiderRosterWithRelations": {
        "title": "RiderRosterWithRelations",
        "type": "object",
        "description": "(tsType: RiderRosterWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "riderId": {
            "type": "string"
          },
          "rosterType": {
            "type": "string",
            "enum": [
              "leave",
              "permission",
              "work",
              "other",
              "break",
              "week-off"
            ]
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rider": {
            "$ref": "#/components/schemas/Rider"
          },
          "foreignKey": {}
        },
        "required": [
          "rosterType",
          "startDate",
          "endDate"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RiderRosterWithRelations"
      },
      "CustomerAddress": {
        "title": "CustomerAddress",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "addressType": {
            "type": "string"
          },
          "addressName": {
            "type": "string"
          },
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "doorFloorFlat": {
            "type": "string"
          },
          "societyName": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "isDefault": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "pincode"
        ],
        "additionalProperties": false
      },
      "CustomerPreference": {
        "title": "CustomerPreference",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "applyInstructionsToAllOrders": {
            "type": "boolean"
          },
          "specialInstructions": {
            "type": "string"
          },
          "specialInstructionMediaIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stainAutoApprove": {
            "type": "boolean"
          },
          "damageAutoApprove": {
            "type": "boolean"
          },
          "colourBleedingChoice": {
            "type": "string",
            "enum": [
              "ask_every_time",
              "accept_risk_and_process",
              "return_unprocessed"
            ]
          },
          "upgradeServiceChoice": {
            "type": "string",
            "enum": [
              "auto",
              "notify"
            ]
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ItemCategory": {
        "title": "ItemCategory",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "PickupDeliverySlot": {
        "title": "PickupDeliverySlot",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "pickup",
              "delivery",
              "both"
            ]
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isAdminOnly": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "label",
          "type",
          "startTime",
          "endTime"
        ],
        "additionalProperties": false
      },
      "NewRegion": {
        "title": "NewRegion",
        "type": "object",
        "description": "(tsType: Omit<Region, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewRegion', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "state"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Region, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "RegionWithRelations": {
        "title": "RegionWithRelations",
        "type": "object",
        "description": "(tsType: RegionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code",
          "state"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RegionWithRelations"
      },
      "RegionPartial": {
        "title": "RegionPartial",
        "type": "object",
        "description": "(tsType: Partial<Region>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Region>"
      },
      "NewProcessStep": {
        "title": "NewProcessStep",
        "type": "object",
        "description": "(tsType: Omit<ProcessStep, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewProcessStep', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ProcessStep, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ProcessStepWithRelations": {
        "title": "ProcessStepWithRelations",
        "type": "object",
        "description": "(tsType: ProcessStepWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "media": {
            "$ref": "#/components/schemas/Media"
          },
          "foreignKey": {},
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Service"
            }
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ProcessStepWithRelations"
      },
      "ProcessStepPartial": {
        "title": "ProcessStepPartial",
        "type": "object",
        "description": "(tsType: Partial<ProcessStep>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ProcessStep>"
      },
      "PriceListItem": {
        "title": "PriceListItem",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "priceListId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "price"
        ],
        "additionalProperties": false
      },
      "PriceListWithRelations": {
        "title": "PriceListWithRelations",
        "type": "object",
        "description": "(tsType: PriceListWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "foreignKey": {},
          "priceListItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceListItem"
            }
          }
        },
        "required": [
          "name",
          "code",
          "percentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PriceListWithRelations"
      },
      "PriceListPartial": {
        "title": "PriceListPartial",
        "type": "object",
        "description": "(tsType: Partial<PriceList>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PriceList>"
      },
      "NewPriceListItem": {
        "title": "NewPriceListItem",
        "type": "object",
        "description": "(tsType: Omit<PriceListItem, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewPriceListItem', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "priceListId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "price"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PriceListItem, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "PriceList": {
        "title": "PriceList",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "code",
          "percentage"
        ],
        "additionalProperties": false
      },
      "PriceListItemWithRelations": {
        "title": "PriceListItemWithRelations",
        "type": "object",
        "description": "(tsType: PriceListItemWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "priceListId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "priceList": {
            "$ref": "#/components/schemas/PriceList"
          },
          "foreignKey": {},
          "service": {
            "$ref": "#/components/schemas/Service"
          },
          "item": {
            "$ref": "#/components/schemas/Item"
          }
        },
        "required": [
          "price"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PriceListItemWithRelations"
      },
      "PriceListItemPartial": {
        "title": "PriceListItemPartial",
        "type": "object",
        "description": "(tsType: Partial<PriceListItem>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "priceListId": {
            "type": "string"
          },
          "serviceId": {
            "type": "string"
          },
          "itemId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PriceListItem>"
      },
      "Customer": {
        "title": "Customer",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "customerCode": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "customerTypeId": {
            "type": "string"
          },
          "customerEntityType": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "isOnAccountEligible": {
            "type": "boolean"
          },
          "customerGroupId": {
            "type": "string"
          },
          "gstNumber": {
            "type": "string"
          },
          "panNumber": {
            "type": "string"
          },
          "companyName": {
            "type": "string"
          },
          "preferredPaymentMode": {
            "type": "string",
            "enum": [
              "cash",
              "upi",
              "card",
              "net_banking",
              "bank_transfer",
              "cheque",
              "pdc",
              "pay_later",
              "on_account",
              "gateway",
              "wallet",
              "pp_voucher"
            ]
          },
          "loyaltyPoints": {
            "type": "number"
          },
          "referredByCouponId": {
            "type": "string"
          },
          "defaultDiscountType": {
            "type": "string"
          },
          "defaultDiscountValue": {
            "type": "number"
          },
          "invoiceSpanDays": {
            "type": "number"
          },
          "preferredStoreId": {
            "type": "string"
          },
          "sensitivityScore": {
            "type": "number"
          },
          "persona": {
            "type": "string",
            "enum": [
              "professional",
              "family",
              "student",
              "senior"
            ]
          },
          "notes": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "statusChangeRemark": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "itpvId": {
            "type": "string"
          },
          "itpvMergedIds": {
            "type": "string"
          },
          "isGeneratedNumber": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "customerLabelId": {
            "type": "string"
          }
        },
        "required": [
          "customerCode",
          "firstName"
        ],
        "additionalProperties": false
      },
      "Order": {
        "title": "Order",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "orderNumber": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "orderType": {
            "type": "string",
            "enum": [
              "store_dropoff",
              "store_dropoff_home_delivery",
              "home_pickup",
              "home_pickup_home_delivery"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "confirmed",
              "received_at_store",
              "in_inspection",
              "in_process",
              "quality_check",
              "ready",
              "partially_dispatched",
              "out_for_delivery",
              "delivered",
              "cancelled",
              "on_hold",
              "returned"
            ]
          },
          "draftEditorState": {
            "type": "object"
          },
          "pickupSource": {
            "type": "string",
            "enum": [
              "web",
              "call",
              "whatsapp"
            ]
          },
          "pickupRequestId": {
            "type": "string"
          },
          "expressMultiplier": {
            "type": "number"
          },
          "deliveryType": {
            "type": "string",
            "enum": [
              "standard",
              "express",
              "lightning"
            ]
          },
          "deliveryTypePercentage": {
            "type": "number"
          },
          "customerContactId": {
            "type": "string"
          },
          "placedByFamilyGroupMemberId": {
            "type": "string"
          },
          "placedByName": {
            "type": "string"
          },
          "placedByPhone": {
            "type": "string"
          },
          "placedByRelationship": {
            "type": "string",
            "enum": [
              "wife",
              "husband",
              "son",
              "daughter",
              "father",
              "mother",
              "brother",
              "sister",
              "driver",
              "colleague",
              "friend",
              "househelp",
              "other"
            ]
          },
          "parentOrderId": {
            "type": "string"
          },
          "allocatedPayment": {
            "type": "number"
          },
          "hasBeenSplit": {
            "type": "boolean"
          },
          "reprocessOfOrderId": {
            "type": "string"
          },
          "deliveryDate": {
            "type": "string",
            "format": "date-time"
          },
          "subtotal": {
            "type": "number"
          },
          "discountAmount": {
            "type": "number"
          },
          "discountType": {
            "type": "string"
          },
          "appliedCouponId": {
            "type": "string"
          },
          "couponCode": {
            "type": "string"
          },
          "taxAmount": {
            "type": "number"
          },
          "totalAmount": {
            "type": "number"
          },
          "specialInstructions": {
            "type": "string"
          },
          "specialInstructionMediaIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remarks": {
            "type": "string"
          },
          "shiftId": {
            "type": "string"
          },
          "isOnAccount": {
            "type": "boolean"
          },
          "assignedRiderId": {
            "type": "string"
          },
          "assignedRiderName": {
            "type": "string"
          },
          "deliveryMethod": {
            "type": "string",
            "enum": [
              "store_pickup",
              "home_delivery"
            ]
          },
          "deliverySlot": {
            "type": "string"
          },
          "deliverySlotId": {
            "type": "string"
          },
          "deliveryAddressId": {
            "type": "string"
          },
          "deliveryAttemptCount": {
            "type": "number"
          },
          "deliveryAddress": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "itpvId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "orderNumber",
          "customerId",
          "storeId",
          "orderType"
        ],
        "additionalProperties": false
      },
      "PickupRequestWithRelations": {
        "title": "PickupRequestWithRelations",
        "type": "object",
        "description": "(tsType: PickupRequestWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "pickupNumber": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "customerName": {
            "type": "string"
          },
          "customerCountryCode": {
            "type": "string"
          },
          "customerMobile": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "requestedDate": {
            "type": "string",
            "format": "date-time"
          },
          "slot": {
            "type": "string"
          },
          "pickupSlotId": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "web",
              "call",
              "whatsapp"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "requested",
              "scheduled",
              "rider_assigned",
              "out_for_pickup",
              "arrived_at_pickup",
              "picked_up",
              "received_at_store",
              "pickup_unsuccessful",
              "cancelled",
              "not_serviceable"
            ]
          },
          "itemCountEstimate": {
            "type": "number"
          },
          "itemCategoryEstimate": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "deliveryGroupingPreference": {
            "type": "string",
            "enum": [
              "together",
              "as_ready"
            ]
          },
          "handoverBy": {
            "type": "string",
            "enum": [
              "self",
              "family_member",
              "household_help"
            ]
          },
          "handoverPersonName": {
            "type": "string"
          },
          "remarks": {
            "type": "string"
          },
          "mediaIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "runId": {
            "type": "string"
          },
          "runNumber": {
            "type": "string"
          },
          "assignedRiderId": {
            "type": "string"
          },
          "assignedRiderName": {
            "type": "string"
          },
          "assignedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assignedBy": {
            "type": "string"
          },
          "convertedOrderId": {
            "type": "string"
          },
          "convertedOrders": {
            "type": "object"
          },
          "isReworkPickup": {
            "type": "boolean"
          },
          "reworkOfOrderId": {
            "type": "string"
          },
          "reworkApprovalRequestId": {
            "type": "string"
          },
          "bagId": {
            "type": "string"
          },
          "actualItemsByService": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "unsuccessfulReasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unsuccessfulOtherReason": {
            "type": "string"
          },
          "unsuccessfulAt": {
            "type": "string",
            "format": "date-time"
          },
          "unsuccessfulBy": {
            "type": "string"
          },
          "reprocessCount": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "customer": {
            "$ref": "#/components/schemas/Customer"
          },
          "foreignKey": {},
          "pickupSlot": {
            "$ref": "#/components/schemas/PickupDeliverySlot"
          },
          "store": {
            "$ref": "#/components/schemas/Store"
          },
          "assignedRider": {
            "$ref": "#/components/schemas/Rider"
          },
          "convertedOrder": {
            "$ref": "#/components/schemas/Order"
          },
          "reworkOfOrder": {
            "$ref": "#/components/schemas/Order"
          }
        },
        "required": [
          "customerName",
          "customerMobile",
          "address",
          "requestedDate",
          "slot",
          "source"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PickupRequestWithRelations"
      },
      "NewPickupDeliverySlot": {
        "title": "NewPickupDeliverySlot",
        "type": "object",
        "description": "(tsType: Omit<PickupDeliverySlot, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewPickupDeliverySlot', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "pickup",
              "delivery",
              "both"
            ]
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isAdminOnly": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "label",
          "type",
          "startTime",
          "endTime"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PickupDeliverySlot, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "PickupDeliverySlotPartial": {
        "title": "PickupDeliverySlotPartial",
        "type": "object",
        "description": "(tsType: Partial<PickupDeliverySlot>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "pickup",
              "delivery",
              "both"
            ]
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isAdminOnly": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PickupDeliverySlot>"
      },
      "PermissionsWithRelations": {
        "title": "PermissionsWithRelations",
        "type": "object",
        "description": "(tsType: PermissionsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Roles"
            }
          }
        },
        "required": [
          "permission"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PermissionsWithRelations"
      },
      "OrderLabel": {
        "title": "OrderLabel",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewOrderLabel": {
        "title": "NewOrderLabel",
        "type": "object",
        "description": "(tsType: Omit<OrderLabel, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewOrderLabel', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<OrderLabel, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "OrderLabelWithRelations": {
        "title": "OrderLabelWithRelations",
        "type": "object",
        "description": "(tsType: OrderLabelWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OrderLabelWithRelations"
      },
      "OrderLabelPartial": {
        "title": "OrderLabelPartial",
        "type": "object",
        "description": "(tsType: Partial<OrderLabel>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OrderLabel>"
      },
      "OnAccountConfiguration": {
        "title": "OnAccountConfiguration",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "defaultInvoiceSpanDays": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "defaultInvoiceSpanDays"
        ],
        "additionalProperties": false
      },
      "NewOnAccountConfiguration": {
        "title": "NewOnAccountConfiguration",
        "type": "object",
        "description": "(tsType: Omit<OnAccountConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewOnAccountConfiguration', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "defaultInvoiceSpanDays": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "defaultInvoiceSpanDays"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<OnAccountConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "OnAccountConfigurationPartial": {
        "title": "OnAccountConfigurationPartial",
        "type": "object",
        "description": "(tsType: Partial<OnAccountConfiguration>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "defaultInvoiceSpanDays": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OnAccountConfiguration>"
      },
      "NewItem": {
        "title": "NewItem",
        "type": "object",
        "description": "(tsType: Omit<Item, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewItem', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isMeasurement": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "itemCategoryId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Item, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ItemWithRelations": {
        "title": "ItemWithRelations",
        "type": "object",
        "description": "(tsType: ItemWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isMeasurement": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "itemCategoryId": {
            "type": "string"
          },
          "media": {
            "$ref": "#/components/schemas/Media"
          },
          "foreignKey": {},
          "itemCategory": {
            "$ref": "#/components/schemas/ItemCategory"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Service"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ItemWithRelations"
      },
      "ItemPartial": {
        "title": "ItemPartial",
        "type": "object",
        "description": "(tsType: Partial<Item>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isMeasurement": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "number"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "itemCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Item>"
      },
      "NewItemCategory": {
        "title": "NewItemCategory",
        "type": "object",
        "description": "(tsType: Omit<ItemCategory, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewItemCategory', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ItemCategory, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ItemCategoryWithRelations": {
        "title": "ItemCategoryWithRelations",
        "type": "object",
        "description": "(tsType: ItemCategoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "media": {
            "$ref": "#/components/schemas/Media"
          },
          "foreignKey": {},
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            }
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ItemCategoryWithRelations"
      },
      "ItemCategoryPartial": {
        "title": "ItemCategoryPartial",
        "type": "object",
        "description": "(tsType: Partial<ItemCategory>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sequence": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ItemCategory>"
      },
      "GstTaxConfiguration": {
        "title": "GstTaxConfiguration",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "hsnSacCodeId": {
            "type": "string"
          },
          "cgstPercentage": {
            "type": "number"
          },
          "sgstPercentage": {
            "type": "number"
          },
          "igstPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "cgstPercentage",
          "sgstPercentage",
          "igstPercentage"
        ],
        "additionalProperties": false
      },
      "NewGstTaxConfiguration": {
        "title": "NewGstTaxConfiguration",
        "type": "object",
        "description": "(tsType: Omit<GstTaxConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewGstTaxConfiguration', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "hsnSacCodeId": {
            "type": "string"
          },
          "cgstPercentage": {
            "type": "number"
          },
          "sgstPercentage": {
            "type": "number"
          },
          "igstPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "cgstPercentage",
          "sgstPercentage",
          "igstPercentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<GstTaxConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "GstTaxConfigurationPartial": {
        "title": "GstTaxConfigurationPartial",
        "type": "object",
        "description": "(tsType: Partial<GstTaxConfiguration>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "hsnSacCodeId": {
            "type": "string"
          },
          "cgstPercentage": {
            "type": "number"
          },
          "sgstPercentage": {
            "type": "number"
          },
          "igstPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<GstTaxConfiguration>"
      },
      "EmployeeWithRelations": {
        "title": "EmployeeWithRelations",
        "type": "object",
        "description": "(tsType: EmployeeWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "employeeCode": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "joiningDate": {
            "type": "string",
            "format": "date-time"
          },
          "designation": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "mediaId": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "reportingManagerId": {
            "type": "string"
          },
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "pincode": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/Users"
          },
          "foreignKey": {},
          "media": {
            "$ref": "#/components/schemas/Media"
          },
          "store": {
            "$ref": "#/components/schemas/Store"
          }
        },
        "required": [
          "employeeCode",
          "firstName",
          "lastName",
          "addressLine1",
          "city",
          "state",
          "pincode"
        ],
        "additionalProperties": false,
        "x-typescript-type": "EmployeeWithRelations"
      },
      "DeliveryTypeConfiguration": {
        "title": "DeliveryTypeConfiguration",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "standardPercentage": {
            "type": "number"
          },
          "expressPercentage": {
            "type": "number"
          },
          "lightningPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "standardPercentage",
          "expressPercentage",
          "lightningPercentage"
        ],
        "additionalProperties": false
      },
      "NewDeliveryTypeConfiguration": {
        "title": "NewDeliveryTypeConfiguration",
        "type": "object",
        "description": "(tsType: Omit<DeliveryTypeConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewDeliveryTypeConfiguration', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "standardPercentage": {
            "type": "number"
          },
          "expressPercentage": {
            "type": "number"
          },
          "lightningPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "standardPercentage",
          "expressPercentage",
          "lightningPercentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<DeliveryTypeConfiguration, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "DeliveryTypeConfigurationPartial": {
        "title": "DeliveryTypeConfigurationPartial",
        "type": "object",
        "description": "(tsType: Partial<DeliveryTypeConfiguration>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "standardPercentage": {
            "type": "number"
          },
          "expressPercentage": {
            "type": "number"
          },
          "lightningPercentage": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<DeliveryTypeConfiguration>"
      },
      "DamageType": {
        "title": "DamageType",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewDamageType": {
        "title": "NewDamageType",
        "type": "object",
        "description": "(tsType: Omit<DamageType, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewDamageType', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<DamageType, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "DamageTypeWithRelations": {
        "title": "DamageTypeWithRelations",
        "type": "object",
        "description": "(tsType: DamageTypeWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "DamageTypeWithRelations"
      },
      "DamageTypePartial": {
        "title": "DamageTypePartial",
        "type": "object",
        "description": "(tsType: Partial<DamageType>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<DamageType>"
      },
      "CustomerLabel": {
        "title": "CustomerLabel",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "CustomerPhone": {
        "title": "CustomerPhone",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isWhatsappNumber": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "countryCode",
          "phone"
        ],
        "additionalProperties": false
      },
      "CustomerWithRelations": {
        "title": "CustomerWithRelations",
        "type": "object",
        "description": "(tsType: CustomerWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "customerCode": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "customerTypeId": {
            "type": "string"
          },
          "customerEntityType": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "isOnAccountEligible": {
            "type": "boolean"
          },
          "customerGroupId": {
            "type": "string"
          },
          "gstNumber": {
            "type": "string"
          },
          "panNumber": {
            "type": "string"
          },
          "companyName": {
            "type": "string"
          },
          "preferredPaymentMode": {
            "type": "string",
            "enum": [
              "cash",
              "upi",
              "card",
              "net_banking",
              "bank_transfer",
              "cheque",
              "pdc",
              "pay_later",
              "on_account",
              "gateway",
              "wallet",
              "pp_voucher"
            ]
          },
          "loyaltyPoints": {
            "type": "number"
          },
          "referredByCouponId": {
            "type": "string"
          },
          "defaultDiscountType": {
            "type": "string"
          },
          "defaultDiscountValue": {
            "type": "number"
          },
          "invoiceSpanDays": {
            "type": "number"
          },
          "preferredStoreId": {
            "type": "string"
          },
          "sensitivityScore": {
            "type": "number"
          },
          "persona": {
            "type": "string",
            "enum": [
              "professional",
              "family",
              "student",
              "senior"
            ]
          },
          "notes": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "statusChangeRemark": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "itpvId": {
            "type": "string"
          },
          "itpvMergedIds": {
            "type": "string"
          },
          "isGeneratedNumber": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "customerLabelId": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/Users"
          },
          "foreignKey": {},
          "customerLabels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLabel"
            }
          },
          "customerPhones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerPhone"
            }
          }
        },
        "required": [
          "customerCode",
          "firstName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CustomerWithRelations"
      },
      "CustomerPreferenceHistory": {
        "title": "CustomerPreferenceHistory",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "settingKey": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          },
          "changedAt": {
            "type": "string",
            "format": "date-time"
          },
          "changedBy": {
            "type": "string"
          }
        },
        "required": [
          "customerId",
          "settingKey"
        ],
        "additionalProperties": false
      },
      "CustomerTypeMaster": {
        "title": "CustomerTypeMaster",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false
      },
      "NewCustomerTypeMaster": {
        "title": "NewCustomerTypeMaster",
        "type": "object",
        "description": "(tsType: Omit<CustomerTypeMaster, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewCustomerTypeMaster', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CustomerTypeMaster, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "CustomerTypeMasterWithRelations": {
        "title": "CustomerTypeMasterWithRelations",
        "type": "object",
        "description": "(tsType: CustomerTypeMasterWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CustomerTypeMasterWithRelations"
      },
      "CustomerTypeMasterPartial": {
        "title": "CustomerTypeMasterPartial",
        "type": "object",
        "description": "(tsType: Partial<CustomerTypeMaster>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CustomerTypeMaster>"
      },
      "CustomerContact": {
        "title": "CustomerContact",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "relationship": {
            "type": "string",
            "enum": [
              "wife",
              "husband",
              "son",
              "daughter",
              "father",
              "mother",
              "brother",
              "sister",
              "driver",
              "colleague",
              "friend",
              "househelp",
              "other"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "remarks": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "phone",
          "relationship"
        ],
        "additionalProperties": false
      },
      "NewCustomerLabel": {
        "title": "NewCustomerLabel",
        "type": "object",
        "description": "(tsType: Omit<CustomerLabel, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewCustomerLabel', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CustomerLabel, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "CustomerLabelWithRelations": {
        "title": "CustomerLabelWithRelations",
        "type": "object",
        "description": "(tsType: CustomerLabelWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CustomerLabelWithRelations"
      },
      "CustomerLabelPartial": {
        "title": "CustomerLabelPartial",
        "type": "object",
        "description": "(tsType: Partial<CustomerLabel>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CustomerLabel>"
      },
      "CustomerDiscountGroup": {
        "title": "CustomerDiscountGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discountPercentage": {
            "type": "number"
          },
          "maxDiscountAmount": {
            "type": "number",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewCustomerDiscountGroup": {
        "title": "NewCustomerDiscountGroup",
        "type": "object",
        "description": "(tsType: Omit<CustomerDiscountGroup, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewCustomerDiscountGroup', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discountPercentage": {
            "type": "number"
          },
          "maxDiscountAmount": {
            "type": "number",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CustomerDiscountGroup, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "CustomerDiscountGroupWithRelations": {
        "title": "CustomerDiscountGroupWithRelations",
        "type": "object",
        "description": "(tsType: CustomerDiscountGroupWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discountPercentage": {
            "type": "number"
          },
          "maxDiscountAmount": {
            "type": "number",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CustomerDiscountGroupWithRelations"
      },
      "CustomerDiscountGroupPartial": {
        "title": "CustomerDiscountGroupPartial",
        "type": "object",
        "description": "(tsType: Partial<CustomerDiscountGroup>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discountPercentage": {
            "type": "number"
          },
          "maxDiscountAmount": {
            "type": "number",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CustomerDiscountGroup>"
      },
      "CountryCode": {
        "title": "CountryCode",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "countryName": {
            "type": "string"
          },
          "isoCode": {
            "type": "string"
          },
          "dialCode": {
            "type": "string"
          },
          "displayOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "countryName",
          "isoCode",
          "dialCode"
        ],
        "additionalProperties": false
      },
      "Color": {
        "title": "Color",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewColor": {
        "title": "NewColor",
        "type": "object",
        "description": "(tsType: Omit<Color, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewColor', exclude: [ 'id', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Color, 'id' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ColorWithRelations": {
        "title": "ColorWithRelations",
        "type": "object",
        "description": "(tsType: ColorWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ColorWithRelations"
      },
      "ColorPartial": {
        "title": "ColorPartial",
        "type": "object",
        "description": "(tsType: Partial<Color>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Color>"
      },
      "NewCluster": {
        "title": "NewCluster",
        "type": "object",
        "description": "(tsType: Omit<Cluster, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewCluster', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "clusterType": {
            "type": "string"
          },
          "pincodes": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "clusterType"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Cluster, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ClusterWithRelations": {
        "title": "ClusterWithRelations",
        "type": "object",
        "description": "(tsType: ClusterWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterType": {
            "type": "string"
          },
          "pincodes": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "foreignKey": {}
        },
        "required": [
          "name",
          "code",
          "clusterType"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ClusterWithRelations"
      },
      "ClusterPartial": {
        "title": "ClusterPartial",
        "type": "object",
        "description": "(tsType: Partial<Cluster>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterType": {
            "type": "string"
          },
          "pincodes": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Cluster>"
      },
      "ClusterPriceList": {
        "title": "ClusterPriceList",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code",
          "percentage"
        ],
        "additionalProperties": false
      },
      "NewClusterPriceList": {
        "title": "NewClusterPriceList",
        "type": "object",
        "description": "(tsType: Omit<ClusterPriceList, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewClusterPriceList', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "percentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ClusterPriceList, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "ClusterPriceListWithRelations": {
        "title": "ClusterPriceListWithRelations",
        "type": "object",
        "description": "(tsType: ClusterPriceListWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "cluster": {
            "$ref": "#/components/schemas/Cluster"
          },
          "foreignKey": {}
        },
        "required": [
          "name",
          "code",
          "percentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ClusterPriceListWithRelations"
      },
      "ClusterPriceListPartial": {
        "title": "ClusterPriceListPartial",
        "type": "object",
        "description": "(tsType: Partial<ClusterPriceList>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "clusterId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "additionalServicePercentage": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ClusterPriceList>"
      },
      "Brand": {
        "title": "Brand",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false
      },
      "NewBrand": {
        "title": "NewBrand",
        "type": "object",
        "description": "(tsType: Omit<Brand, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewBrand', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Brand, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "BrandWithRelations": {
        "title": "BrandWithRelations",
        "type": "object",
        "description": "(tsType: BrandWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "code"
        ],
        "additionalProperties": false,
        "x-typescript-type": "BrandWithRelations"
      },
      "BrandPartial": {
        "title": "BrandPartial",
        "type": "object",
        "description": "(tsType: Partial<Brand>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Brand>"
      },
      "Bag": {
        "title": "Bag",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "bagNumber": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "in_use",
              "full"
            ]
          },
          "maxCapacity": {
            "type": "number"
          },
          "itemCount": {
            "type": "number"
          },
          "currentStoreId": {
            "type": "string"
          },
          "currentTransferId": {
            "type": "string"
          },
          "currentDeliveryId": {
            "type": "string"
          },
          "currentPickupRequestId": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "bagNumber"
        ],
        "additionalProperties": false
      },
      "BagWithRelations": {
        "title": "BagWithRelations",
        "type": "object",
        "description": "(tsType: BagWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "bagNumber": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "in_use",
              "full"
            ]
          },
          "maxCapacity": {
            "type": "number"
          },
          "itemCount": {
            "type": "number"
          },
          "currentStoreId": {
            "type": "string"
          },
          "currentTransferId": {
            "type": "string"
          },
          "currentDeliveryId": {
            "type": "string"
          },
          "currentPickupRequestId": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "bagNumber"
        ],
        "additionalProperties": false,
        "x-typescript-type": "BagWithRelations"
      },
      "BagPartial": {
        "title": "BagPartial",
        "type": "object",
        "description": "(tsType: Partial<Bag>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "bagNumber": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "in_use",
              "full"
            ]
          },
          "maxCapacity": {
            "type": "number"
          },
          "itemCount": {
            "type": "number"
          },
          "currentStoreId": {
            "type": "string"
          },
          "currentTransferId": {
            "type": "string"
          },
          "currentDeliveryId": {
            "type": "string"
          },
          "currentPickupRequestId": {
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Bag>"
      },
      "AdditionalChargeMaster": {
        "title": "AdditionalChargeMaster",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "chargeScope": {
            "type": "string",
            "enum": [
              "order",
              "item"
            ]
          },
          "chargeType": {
            "type": "string",
            "enum": [
              "standard",
              "express"
            ]
          },
          "defaultAmount": {
            "type": "number"
          },
          "isTaxable": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "chargeScope",
          "chargeType",
          "defaultAmount"
        ],
        "additionalProperties": false
      },
      "NewAdditionalChargeMaster": {
        "title": "NewAdditionalChargeMaster",
        "type": "object",
        "description": "(tsType: Omit<AdditionalChargeMaster, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>, schemaOptions: { title: 'NewAdditionalChargeMaster', exclude: [ 'id', 'code', 'createdAt', 'updatedAt', 'deletedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "chargeScope": {
            "type": "string",
            "enum": [
              "order",
              "item"
            ]
          },
          "chargeType": {
            "type": "string",
            "enum": [
              "standard",
              "express"
            ]
          },
          "defaultAmount": {
            "type": "number"
          },
          "isTaxable": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "chargeScope",
          "chargeType",
          "defaultAmount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<AdditionalChargeMaster, 'id' | 'code' | 'createdAt' | 'updatedAt' | 'deletedAt'>"
      },
      "AdditionalChargeMasterWithRelations": {
        "title": "AdditionalChargeMasterWithRelations",
        "type": "object",
        "description": "(tsType: AdditionalChargeMasterWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "chargeScope": {
            "type": "string",
            "enum": [
              "order",
              "item"
            ]
          },
          "chargeType": {
            "type": "string",
            "enum": [
              "standard",
              "express"
            ]
          },
          "defaultAmount": {
            "type": "number"
          },
          "isTaxable": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "chargeScope",
          "chargeType",
          "defaultAmount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AdditionalChargeMasterWithRelations"
      },
      "AdditionalChargeMasterPartial": {
        "title": "AdditionalChargeMasterPartial",
        "type": "object",
        "description": "(tsType: Partial<AdditionalChargeMaster>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "chargeScope": {
            "type": "string",
            "enum": [
              "order",
              "item"
            ]
          },
          "chargeType": {
            "type": "string",
            "enum": [
              "standard",
              "express"
            ]
          },
          "defaultAmount": {
            "type": "number"
          },
          "isTaxable": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<AdditionalChargeMaster>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "AdditionalChargeMaster.Filter": {
        "type": "object",
        "title": "AdditionalChargeMaster.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "chargeScope": {
                    "type": "boolean"
                  },
                  "chargeType": {
                    "type": "boolean"
                  },
                  "defaultAmount": {
                    "type": "boolean"
                  },
                  "isTaxable": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "chargeScope",
                    "chargeType",
                    "defaultAmount",
                    "isTaxable",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AdditionalChargeMaster.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AdditionalChargeMaster>"
      },
      "AdditionalChargeMaster.Filter1": {
        "type": "object",
        "title": "AdditionalChargeMaster.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": "AdditionalChargeMaster.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "chargeScope": {
                    "type": "boolean"
                  },
                  "chargeType": {
                    "type": "boolean"
                  },
                  "defaultAmount": {
                    "type": "boolean"
                  },
                  "isTaxable": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "chargeScope",
                    "chargeType",
                    "defaultAmount",
                    "isTaxable",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AdditionalChargeMaster.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AdditionalChargeMaster>"
      },
      "Bag.Filter": {
        "type": "object",
        "title": "Bag.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"
                  },
                  "bagNumber": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "maxCapacity": {
                    "type": "boolean"
                  },
                  "itemCount": {
                    "type": "boolean"
                  },
                  "currentStoreId": {
                    "type": "boolean"
                  },
                  "currentTransferId": {
                    "type": "boolean"
                  },
                  "currentDeliveryId": {
                    "type": "boolean"
                  },
                  "currentPickupRequestId": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "bagNumber",
                    "isActive",
                    "status",
                    "maxCapacity",
                    "itemCount",
                    "currentStoreId",
                    "currentTransferId",
                    "currentDeliveryId",
                    "currentPickupRequestId",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Bag.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Bag>"
      },
      "Bag.Filter1": {
        "type": "object",
        "title": "Bag.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": "Bag.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "bagNumber": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "maxCapacity": {
                    "type": "boolean"
                  },
                  "itemCount": {
                    "type": "boolean"
                  },
                  "currentStoreId": {
                    "type": "boolean"
                  },
                  "currentTransferId": {
                    "type": "boolean"
                  },
                  "currentDeliveryId": {
                    "type": "boolean"
                  },
                  "currentPickupRequestId": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "bagNumber",
                    "isActive",
                    "status",
                    "maxCapacity",
                    "itemCount",
                    "currentStoreId",
                    "currentTransferId",
                    "currentDeliveryId",
                    "currentPickupRequestId",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Bag.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Bag>"
      },
      "Brand.Filter": {
        "type": "object",
        "title": "Brand.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Brand.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Brand>"
      },
      "Brand.Filter1": {
        "type": "object",
        "title": "Brand.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": "Brand.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Brand.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Brand>"
      },
      "ClusterPriceList.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ClusterPriceList.ScopeFilter"
      },
      "ClusterPriceList.IncludeFilter.Items": {
        "title": "ClusterPriceList.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "cluster"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ClusterPriceList.ScopeFilter"
          }
        }
      },
      "ClusterPriceList.Filter": {
        "type": "object",
        "title": "ClusterPriceList.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "clusterId",
                    "percentage",
                    "additionalServicePercentage",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ClusterPriceList.Fields"
          },
          "include": {
            "title": "ClusterPriceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClusterPriceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ClusterPriceList>"
      },
      "ClusterPriceList.Filter1": {
        "type": "object",
        "title": "ClusterPriceList.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": "ClusterPriceList.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "clusterId",
                    "percentage",
                    "additionalServicePercentage",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ClusterPriceList.Fields"
          },
          "include": {
            "title": "ClusterPriceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClusterPriceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ClusterPriceList>"
      },
      "Cluster.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Cluster.ScopeFilter"
      },
      "Cluster.IncludeFilter.Items": {
        "title": "Cluster.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "region"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Cluster.ScopeFilter"
          }
        }
      },
      "Cluster.Filter": {
        "type": "object",
        "title": "Cluster.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"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "clusterType": {
                    "type": "boolean"
                  },
                  "pincodes": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "regionId",
                    "name",
                    "code",
                    "clusterType",
                    "pincodes",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Cluster.Fields"
          },
          "include": {
            "title": "Cluster.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Cluster.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Cluster>"
      },
      "Cluster.Filter1": {
        "type": "object",
        "title": "Cluster.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": "Cluster.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "clusterType": {
                    "type": "boolean"
                  },
                  "pincodes": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "regionId",
                    "name",
                    "code",
                    "clusterType",
                    "pincodes",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Cluster.Fields"
          },
          "include": {
            "title": "Cluster.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Cluster.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Cluster>"
      },
      "Color.Filter": {
        "type": "object",
        "title": "Color.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Color.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Color>"
      },
      "Color.Filter1": {
        "type": "object",
        "title": "Color.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": "Color.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Color.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Color>"
      },
      "CountryCode.Filter": {
        "type": "object",
        "title": "CountryCode.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": "CountryCode.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "countryName": {
                    "type": "boolean"
                  },
                  "isoCode": {
                    "type": "boolean"
                  },
                  "dialCode": {
                    "type": "boolean"
                  },
                  "displayOrder": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "countryName",
                    "isoCode",
                    "dialCode",
                    "displayOrder",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CountryCode.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CountryCode>"
      },
      "Coupon.Filter": {
        "type": "object",
        "title": "Coupon.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": "Coupon.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "colorTag": {
                    "type": "boolean"
                  },
                  "discountType": {
                    "type": "boolean"
                  },
                  "discountValue": {
                    "type": "boolean"
                  },
                  "maxDiscountAmount": {
                    "type": "boolean"
                  },
                  "minQualifyingItems": {
                    "type": "boolean"
                  },
                  "minRequirementType": {
                    "type": "boolean"
                  },
                  "minRequirementValue": {
                    "type": "boolean"
                  },
                  "newCustomerOrderLimit": {
                    "type": "boolean"
                  },
                  "startDate": {
                    "type": "boolean"
                  },
                  "endDate": {
                    "type": "boolean"
                  },
                  "maxUsesPerCustomer": {
                    "type": "boolean"
                  },
                  "maxUsesTotal": {
                    "type": "boolean"
                  },
                  "totalUsesCount": {
                    "type": "boolean"
                  },
                  "serviceCategoryIds": {
                    "type": "boolean"
                  },
                  "serviceIds": {
                    "type": "boolean"
                  },
                  "itemCategoryIds": {
                    "type": "boolean"
                  },
                  "itemIds": {
                    "type": "boolean"
                  },
                  "regionIds": {
                    "type": "boolean"
                  },
                  "clusterIds": {
                    "type": "boolean"
                  },
                  "storeIds": {
                    "type": "boolean"
                  },
                  "customerLabelIds": {
                    "type": "boolean"
                  },
                  "isReferralCode": {
                    "type": "boolean"
                  },
                  "hideFromTicketList": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "code",
                    "name",
                    "description",
                    "colorTag",
                    "discountType",
                    "discountValue",
                    "maxDiscountAmount",
                    "minQualifyingItems",
                    "minRequirementType",
                    "minRequirementValue",
                    "newCustomerOrderLimit",
                    "startDate",
                    "endDate",
                    "maxUsesPerCustomer",
                    "maxUsesTotal",
                    "totalUsesCount",
                    "serviceCategoryIds",
                    "serviceIds",
                    "itemCategoryIds",
                    "itemIds",
                    "regionIds",
                    "clusterIds",
                    "storeIds",
                    "customerLabelIds",
                    "isReferralCode",
                    "hideFromTicketList",
                    "isActive",
                    "isDeleted",
                    "createdBy",
                    "updatedBy",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Coupon.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Coupon>"
      },
      "CustomerDiscountGroup.Filter": {
        "type": "object",
        "title": "CustomerDiscountGroup.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "discountPercentage": {
                    "type": "boolean"
                  },
                  "maxDiscountAmount": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "discountPercentage",
                    "maxDiscountAmount",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerDiscountGroup.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerDiscountGroup>"
      },
      "CustomerDiscountGroup.Filter1": {
        "type": "object",
        "title": "CustomerDiscountGroup.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": "CustomerDiscountGroup.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "discountPercentage": {
                    "type": "boolean"
                  },
                  "maxDiscountAmount": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "discountPercentage",
                    "maxDiscountAmount",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerDiscountGroup.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerDiscountGroup>"
      },
      "CustomerLabel.Filter": {
        "type": "object",
        "title": "CustomerLabel.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerLabel.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerLabel>"
      },
      "CustomerLabel.Filter1": {
        "type": "object",
        "title": "CustomerLabel.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": "CustomerLabel.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerLabel.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerLabel>"
      },
      "CustomerTypeMaster.Filter": {
        "type": "object",
        "title": "CustomerTypeMaster.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"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "value",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerTypeMaster.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerTypeMaster>"
      },
      "CustomerTypeMaster.Filter1": {
        "type": "object",
        "title": "CustomerTypeMaster.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": "CustomerTypeMaster.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "value",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CustomerTypeMaster.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CustomerTypeMaster>"
      },
      "Customer.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Customer.ScopeFilter"
      },
      "Customer.IncludeFilter.Items": {
        "title": "Customer.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user",
              "customerLabels",
              "customerPhones"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Customer.ScopeFilter"
          }
        }
      },
      "Customer.Filter": {
        "type": "object",
        "title": "Customer.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "customerCode": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "dateOfBirth": {
                    "type": "boolean"
                  },
                  "customerTypeId": {
                    "type": "boolean"
                  },
                  "customerEntityType": {
                    "type": "boolean"
                  },
                  "isOnAccountEligible": {
                    "type": "boolean"
                  },
                  "customerGroupId": {
                    "type": "boolean"
                  },
                  "gstNumber": {
                    "type": "boolean"
                  },
                  "panNumber": {
                    "type": "boolean"
                  },
                  "companyName": {
                    "type": "boolean"
                  },
                  "preferredPaymentMode": {
                    "type": "boolean"
                  },
                  "loyaltyPoints": {
                    "type": "boolean"
                  },
                  "referredByCouponId": {
                    "type": "boolean"
                  },
                  "defaultDiscountType": {
                    "type": "boolean"
                  },
                  "defaultDiscountValue": {
                    "type": "boolean"
                  },
                  "invoiceSpanDays": {
                    "type": "boolean"
                  },
                  "preferredStoreId": {
                    "type": "boolean"
                  },
                  "sensitivityScore": {
                    "type": "boolean"
                  },
                  "persona": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "statusChangeRemark": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "itpvId": {
                    "type": "boolean"
                  },
                  "itpvMergedIds": {
                    "type": "boolean"
                  },
                  "isGeneratedNumber": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "customerLabelId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "customerCode",
                    "firstName",
                    "lastName",
                    "email",
                    "dateOfBirth",
                    "customerTypeId",
                    "customerEntityType",
                    "isOnAccountEligible",
                    "customerGroupId",
                    "gstNumber",
                    "panNumber",
                    "companyName",
                    "preferredPaymentMode",
                    "loyaltyPoints",
                    "referredByCouponId",
                    "defaultDiscountType",
                    "defaultDiscountValue",
                    "invoiceSpanDays",
                    "preferredStoreId",
                    "sensitivityScore",
                    "persona",
                    "notes",
                    "isActive",
                    "statusChangeRemark",
                    "isDeleted",
                    "itpvId",
                    "itpvMergedIds",
                    "isGeneratedNumber",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "customerLabelId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Customer.Fields"
          },
          "include": {
            "title": "Customer.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Customer.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Customer>"
      },
      "Customer.Filter1": {
        "type": "object",
        "title": "Customer.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Customer.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "customerCode": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "dateOfBirth": {
                    "type": "boolean"
                  },
                  "customerTypeId": {
                    "type": "boolean"
                  },
                  "customerEntityType": {
                    "type": "boolean"
                  },
                  "isOnAccountEligible": {
                    "type": "boolean"
                  },
                  "customerGroupId": {
                    "type": "boolean"
                  },
                  "gstNumber": {
                    "type": "boolean"
                  },
                  "panNumber": {
                    "type": "boolean"
                  },
                  "companyName": {
                    "type": "boolean"
                  },
                  "preferredPaymentMode": {
                    "type": "boolean"
                  },
                  "loyaltyPoints": {
                    "type": "boolean"
                  },
                  "referredByCouponId": {
                    "type": "boolean"
                  },
                  "defaultDiscountType": {
                    "type": "boolean"
                  },
                  "defaultDiscountValue": {
                    "type": "boolean"
                  },
                  "invoiceSpanDays": {
                    "type": "boolean"
                  },
                  "preferredStoreId": {
                    "type": "boolean"
                  },
                  "sensitivityScore": {
                    "type": "boolean"
                  },
                  "persona": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "statusChangeRemark": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "itpvId": {
                    "type": "boolean"
                  },
                  "itpvMergedIds": {
                    "type": "boolean"
                  },
                  "isGeneratedNumber": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "customerLabelId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "customerCode",
                    "firstName",
                    "lastName",
                    "email",
                    "dateOfBirth",
                    "customerTypeId",
                    "customerEntityType",
                    "isOnAccountEligible",
                    "customerGroupId",
                    "gstNumber",
                    "panNumber",
                    "companyName",
                    "preferredPaymentMode",
                    "loyaltyPoints",
                    "referredByCouponId",
                    "defaultDiscountType",
                    "defaultDiscountValue",
                    "invoiceSpanDays",
                    "preferredStoreId",
                    "sensitivityScore",
                    "persona",
                    "notes",
                    "isActive",
                    "statusChangeRemark",
                    "isDeleted",
                    "itpvId",
                    "itpvMergedIds",
                    "isGeneratedNumber",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "customerLabelId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Customer.Fields"
          },
          "include": {
            "title": "Customer.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Customer.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Customer>"
      },
      "DamageType.Filter": {
        "type": "object",
        "title": "DamageType.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "DamageType.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<DamageType>"
      },
      "DamageType.Filter1": {
        "type": "object",
        "title": "DamageType.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": "DamageType.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "DamageType.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<DamageType>"
      },
      "Employee.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Employee.ScopeFilter"
      },
      "Employee.IncludeFilter.Items": {
        "title": "Employee.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user",
              "media",
              "store"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Employee.ScopeFilter"
          }
        }
      },
      "Employee.Filter": {
        "type": "object",
        "title": "Employee.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"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "employeeCode": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "dateOfBirth": {
                    "type": "boolean"
                  },
                  "joiningDate": {
                    "type": "boolean"
                  },
                  "designation": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "reportingManagerId": {
                    "type": "boolean"
                  },
                  "addressLine1": {
                    "type": "boolean"
                  },
                  "addressLine2": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "employeeCode",
                    "firstName",
                    "lastName",
                    "dateOfBirth",
                    "joiningDate",
                    "designation",
                    "department",
                    "mediaId",
                    "storeId",
                    "clusterId",
                    "regionId",
                    "reportingManagerId",
                    "addressLine1",
                    "addressLine2",
                    "city",
                    "state",
                    "pincode",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Employee.Fields"
          },
          "include": {
            "title": "Employee.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Employee.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Employee>"
      },
      "Employee.Filter1": {
        "type": "object",
        "title": "Employee.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": "Employee.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "employeeCode": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "dateOfBirth": {
                    "type": "boolean"
                  },
                  "joiningDate": {
                    "type": "boolean"
                  },
                  "designation": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "reportingManagerId": {
                    "type": "boolean"
                  },
                  "addressLine1": {
                    "type": "boolean"
                  },
                  "addressLine2": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "employeeCode",
                    "firstName",
                    "lastName",
                    "dateOfBirth",
                    "joiningDate",
                    "designation",
                    "department",
                    "mediaId",
                    "storeId",
                    "clusterId",
                    "regionId",
                    "reportingManagerId",
                    "addressLine1",
                    "addressLine2",
                    "city",
                    "state",
                    "pincode",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Employee.Fields"
          },
          "include": {
            "title": "Employee.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Employee.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Employee>"
      },
      "ItemCategory.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ItemCategory.ScopeFilter"
      },
      "ItemCategory.IncludeFilter.Items": {
        "title": "ItemCategory.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "media",
              "items"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ItemCategory.ScopeFilter"
          }
        }
      },
      "ItemCategory.Filter": {
        "type": "object",
        "title": "ItemCategory.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"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "mediaId",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ItemCategory.Fields"
          },
          "include": {
            "title": "ItemCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ItemCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ItemCategory>"
      },
      "ItemCategory.Filter1": {
        "type": "object",
        "title": "ItemCategory.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": "ItemCategory.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "mediaId",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ItemCategory.Fields"
          },
          "include": {
            "title": "ItemCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ItemCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ItemCategory>"
      },
      "Item.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Item.ScopeFilter"
      },
      "Item.IncludeFilter.Items": {
        "title": "Item.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "media",
              "itemCategory",
              "services"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Item.ScopeFilter"
          }
        }
      },
      "Item.Filter": {
        "type": "object",
        "title": "Item.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"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isMeasurement": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "itemCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "mediaId",
                    "isMeasurement",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy",
                    "itemCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Item.Fields"
          },
          "include": {
            "title": "Item.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Item.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Item>"
      },
      "Item.Filter1": {
        "type": "object",
        "title": "Item.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": "Item.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isMeasurement": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "itemCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "mediaId",
                    "isMeasurement",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy",
                    "itemCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Item.Fields"
          },
          "include": {
            "title": "Item.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Item.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Item>"
      },
      "OrderLabel.Filter": {
        "type": "object",
        "title": "OrderLabel.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OrderLabel.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OrderLabel>"
      },
      "OrderLabel.Filter1": {
        "type": "object",
        "title": "OrderLabel.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": "OrderLabel.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OrderLabel.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OrderLabel>"
      },
      "Permissions.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Permissions.ScopeFilter"
      },
      "Permissions.IncludeFilter.Items": {
        "title": "Permissions.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "roles"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Permissions.ScopeFilter"
          }
        }
      },
      "Permissions.Filter": {
        "type": "object",
        "title": "Permissions.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"
                  },
                  "permission": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "permission",
                    "description",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Permissions.Fields"
          },
          "include": {
            "title": "Permissions.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Permissions.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Permissions>"
      },
      "Permissions.Filter1": {
        "type": "object",
        "title": "Permissions.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": "Permissions.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "permission": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "permission",
                    "description",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Permissions.Fields"
          },
          "include": {
            "title": "Permissions.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Permissions.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Permissions>"
      },
      "PickupDeliverySlot.Filter": {
        "type": "object",
        "title": "PickupDeliverySlot.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"
                  },
                  "label": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "startTime": {
                    "type": "boolean"
                  },
                  "endTime": {
                    "type": "boolean"
                  },
                  "sortOrder": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isAdminOnly": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "label",
                    "type",
                    "startTime",
                    "endTime",
                    "sortOrder",
                    "isActive",
                    "isAdminOnly",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PickupDeliverySlot.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PickupDeliverySlot>"
      },
      "PickupDeliverySlot.Filter1": {
        "type": "object",
        "title": "PickupDeliverySlot.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": "PickupDeliverySlot.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "startTime": {
                    "type": "boolean"
                  },
                  "endTime": {
                    "type": "boolean"
                  },
                  "sortOrder": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isAdminOnly": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "label",
                    "type",
                    "startTime",
                    "endTime",
                    "sortOrder",
                    "isActive",
                    "isAdminOnly",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PickupDeliverySlot.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PickupDeliverySlot>"
      },
      "PickupRequest.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "PickupRequest.ScopeFilter"
      },
      "PickupRequest.IncludeFilter.Items": {
        "title": "PickupRequest.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "customer",
              "pickupSlot",
              "store",
              "assignedRider",
              "convertedOrder",
              "reworkOfOrder"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/PickupRequest.ScopeFilter"
          }
        }
      },
      "PickupRequest.Filter": {
        "type": "object",
        "title": "PickupRequest.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": "PickupRequest.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "pickupNumber": {
                    "type": "boolean"
                  },
                  "customerId": {
                    "type": "boolean"
                  },
                  "customerName": {
                    "type": "boolean"
                  },
                  "customerCountryCode": {
                    "type": "boolean"
                  },
                  "customerMobile": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "requestedDate": {
                    "type": "boolean"
                  },
                  "slot": {
                    "type": "boolean"
                  },
                  "pickupSlotId": {
                    "type": "boolean"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "source": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "itemCountEstimate": {
                    "type": "boolean"
                  },
                  "itemCategoryEstimate": {
                    "type": "boolean"
                  },
                  "deliveryGroupingPreference": {
                    "type": "boolean"
                  },
                  "handoverBy": {
                    "type": "boolean"
                  },
                  "handoverPersonName": {
                    "type": "boolean"
                  },
                  "remarks": {
                    "type": "boolean"
                  },
                  "mediaIds": {
                    "type": "boolean"
                  },
                  "runId": {
                    "type": "boolean"
                  },
                  "runNumber": {
                    "type": "boolean"
                  },
                  "assignedRiderId": {
                    "type": "boolean"
                  },
                  "assignedRiderName": {
                    "type": "boolean"
                  },
                  "assignedAt": {
                    "type": "boolean"
                  },
                  "assignedBy": {
                    "type": "boolean"
                  },
                  "convertedOrderId": {
                    "type": "boolean"
                  },
                  "convertedOrders": {
                    "type": "boolean"
                  },
                  "isReworkPickup": {
                    "type": "boolean"
                  },
                  "reworkOfOrderId": {
                    "type": "boolean"
                  },
                  "reworkApprovalRequestId": {
                    "type": "boolean"
                  },
                  "bagId": {
                    "type": "boolean"
                  },
                  "actualItemsByService": {
                    "type": "boolean"
                  },
                  "unsuccessfulReasons": {
                    "type": "boolean"
                  },
                  "unsuccessfulOtherReason": {
                    "type": "boolean"
                  },
                  "unsuccessfulAt": {
                    "type": "boolean"
                  },
                  "unsuccessfulBy": {
                    "type": "boolean"
                  },
                  "reprocessCount": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "pickupNumber",
                    "customerId",
                    "customerName",
                    "customerCountryCode",
                    "customerMobile",
                    "address",
                    "pincode",
                    "requestedDate",
                    "slot",
                    "pickupSlotId",
                    "storeId",
                    "source",
                    "status",
                    "itemCountEstimate",
                    "itemCategoryEstimate",
                    "deliveryGroupingPreference",
                    "handoverBy",
                    "handoverPersonName",
                    "remarks",
                    "mediaIds",
                    "runId",
                    "runNumber",
                    "assignedRiderId",
                    "assignedRiderName",
                    "assignedAt",
                    "assignedBy",
                    "convertedOrderId",
                    "convertedOrders",
                    "isReworkPickup",
                    "reworkOfOrderId",
                    "reworkApprovalRequestId",
                    "bagId",
                    "actualItemsByService",
                    "unsuccessfulReasons",
                    "unsuccessfulOtherReason",
                    "unsuccessfulAt",
                    "unsuccessfulBy",
                    "reprocessCount",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PickupRequest.Fields"
          },
          "include": {
            "title": "PickupRequest.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PickupRequest.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PickupRequest>"
      },
      "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
          }
        }
      },
      "PriceListItem.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "PriceListItem.ScopeFilter"
      },
      "PriceListItem.IncludeFilter.Items": {
        "title": "PriceListItem.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "priceList",
              "service",
              "item"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/PriceListItem.ScopeFilter"
          }
        }
      },
      "PriceListItem.Filter": {
        "type": "object",
        "title": "PriceListItem.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"
                  },
                  "priceListId": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "itemId": {
                    "type": "boolean"
                  },
                  "price": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "priceListId",
                    "serviceId",
                    "itemId",
                    "price",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PriceListItem.Fields"
          },
          "include": {
            "title": "PriceListItem.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PriceListItem.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PriceListItem>"
      },
      "PriceListItem.Filter1": {
        "type": "object",
        "title": "PriceListItem.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": "PriceListItem.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "priceListId": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "itemId": {
                    "type": "boolean"
                  },
                  "price": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "priceListId",
                    "serviceId",
                    "itemId",
                    "price",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PriceListItem.Fields"
          },
          "include": {
            "title": "PriceListItem.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PriceListItem.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PriceListItem>"
      },
      "PriceList.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "PriceList.ScopeFilter"
      },
      "PriceList.IncludeFilter.Items": {
        "title": "PriceList.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "region",
              "priceListItems"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/PriceList.ScopeFilter"
          }
        }
      },
      "PriceList.Filter": {
        "type": "object",
        "title": "PriceList.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "regionId",
                    "percentage",
                    "additionalServicePercentage",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PriceList.Fields"
          },
          "include": {
            "title": "PriceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PriceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PriceList>"
      },
      "PriceList.Filter1": {
        "type": "object",
        "title": "PriceList.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": "PriceList.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "regionId",
                    "percentage",
                    "additionalServicePercentage",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PriceList.Fields"
          },
          "include": {
            "title": "PriceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PriceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PriceList>"
      },
      "ProcessStep.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ProcessStep.ScopeFilter"
      },
      "ProcessStep.IncludeFilter.Items": {
        "title": "ProcessStep.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "media",
              "services"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ProcessStep.ScopeFilter"
          }
        }
      },
      "ProcessStep.Filter": {
        "type": "object",
        "title": "ProcessStep.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "mediaId",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ProcessStep.Fields"
          },
          "include": {
            "title": "ProcessStep.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ProcessStep.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ProcessStep>"
      },
      "ProcessStep.Filter1": {
        "type": "object",
        "title": "ProcessStep.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": "ProcessStep.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "mediaId",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ProcessStep.Fields"
          },
          "include": {
            "title": "ProcessStep.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ProcessStep.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ProcessStep>"
      },
      "Region.Filter": {
        "type": "object",
        "title": "Region.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "country",
                    "state",
                    "city",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Region.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Region>"
      },
      "Region.Filter1": {
        "type": "object",
        "title": "Region.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": "Region.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "country",
                    "state",
                    "city",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Region.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Region>"
      },
      "RiderNotification.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "RiderNotification.ScopeFilter"
      },
      "RiderNotification.IncludeFilter.Items": {
        "title": "RiderNotification.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "rider"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/RiderNotification.ScopeFilter"
          }
        }
      },
      "RiderNotification.Filter": {
        "type": "object",
        "title": "RiderNotification.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": "RiderNotification.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "riderId": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "body": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "deliveryStatus": {
                    "type": "boolean"
                  },
                  "isRead": {
                    "type": "boolean"
                  },
                  "readAt": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "riderId",
                    "type",
                    "title",
                    "body",
                    "data",
                    "deliveryStatus",
                    "isRead",
                    "readAt",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "RiderNotification.Fields"
          },
          "include": {
            "title": "RiderNotification.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RiderNotification.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<RiderNotification>"
      },
      "RiderPincodeMapping.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "RiderPincodeMapping.ScopeFilter"
      },
      "RiderPincodeMapping.IncludeFilter.Items": {
        "title": "RiderPincodeMapping.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "rider"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/RiderPincodeMapping.ScopeFilter"
          }
        }
      },
      "RiderPincodeMapping.Filter": {
        "type": "object",
        "title": "RiderPincodeMapping.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": "RiderPincodeMapping.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "riderId": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "riderId",
                    "pincode",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "RiderPincodeMapping.Fields"
          },
          "include": {
            "title": "RiderPincodeMapping.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RiderPincodeMapping.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<RiderPincodeMapping>"
      },
      "RiderRoster.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "RiderRoster.ScopeFilter"
      },
      "RiderRoster.IncludeFilter.Items": {
        "title": "RiderRoster.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "rider"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/RiderRoster.ScopeFilter"
          }
        }
      },
      "RiderRoster.Filter": {
        "type": "object",
        "title": "RiderRoster.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": "RiderRoster.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "riderId": {
                    "type": "boolean"
                  },
                  "rosterType": {
                    "type": "boolean"
                  },
                  "startDate": {
                    "type": "boolean"
                  },
                  "endDate": {
                    "type": "boolean"
                  },
                  "startTime": {
                    "type": "boolean"
                  },
                  "endTime": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "riderId",
                    "rosterType",
                    "startDate",
                    "endDate",
                    "startTime",
                    "endTime",
                    "description",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "RiderRoster.Fields"
          },
          "include": {
            "title": "RiderRoster.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RiderRoster.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<RiderRoster>"
      },
      "Rider.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Rider.ScopeFilter"
      },
      "Rider.IncludeFilter.Items": {
        "title": "Rider.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Rider.ScopeFilter"
          }
        }
      },
      "Rider.Filter": {
        "type": "object",
        "title": "Rider.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": "Rider.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "riderCode": {
                    "type": "boolean"
                  },
                  "riderType": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "alternateNumber": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "doorFloorFlat": {
                    "type": "boolean"
                  },
                  "landmark": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "riderCode",
                    "riderType",
                    "firstName",
                    "lastName",
                    "alternateNumber",
                    "address",
                    "doorFloorFlat",
                    "landmark",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Rider.Fields"
          },
          "include": {
            "title": "Rider.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Rider.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Rider>"
      },
      "Roles.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Roles.ScopeFilter"
      },
      "Roles.IncludeFilter.Items": {
        "title": "Roles.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "permissions",
              "users"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Roles.ScopeFilter"
          }
        }
      },
      "Roles.Filter": {
        "type": "object",
        "title": "Roles.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"
                  },
                  "label": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "scope": {
                    "type": "boolean"
                  },
                  "isLocked": {
                    "type": "boolean"
                  },
                  "loginAccess": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "label",
                    "value",
                    "description",
                    "scope",
                    "isLocked",
                    "loginAccess",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Roles.Fields"
          },
          "include": {
            "title": "Roles.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Roles.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Roles>"
      },
      "Roles.Filter1": {
        "type": "object",
        "title": "Roles.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": "Roles.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "scope": {
                    "type": "boolean"
                  },
                  "isLocked": {
                    "type": "boolean"
                  },
                  "loginAccess": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "label",
                    "value",
                    "description",
                    "scope",
                    "isLocked",
                    "loginAccess",
                    "isActive",
                    "status",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Roles.Fields"
          },
          "include": {
            "title": "Roles.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Roles.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Roles>"
      },
      "ServiceCategory.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ServiceCategory.ScopeFilter"
      },
      "ServiceCategory.IncludeFilter.Items": {
        "title": "ServiceCategory.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "services"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ServiceCategory.ScopeFilter"
          }
        }
      },
      "ServiceCategory.Filter": {
        "type": "object",
        "title": "ServiceCategory.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "newservicetat": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "newservicetat",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceCategory.Fields"
          },
          "include": {
            "title": "ServiceCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceCategory>"
      },
      "ServiceCategory.Filter1": {
        "type": "object",
        "title": "ServiceCategory.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": "ServiceCategory.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "newservicetat": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "newservicetat",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceCategory.Fields"
          },
          "include": {
            "title": "ServiceCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceCategory>"
      },
      "ServiceItemMapping.Filter": {
        "type": "object",
        "title": "ServiceItemMapping.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"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "itemId": {
                    "type": "boolean"
                  },
                  "basePrice": {
                    "type": "boolean"
                  },
                  "estimatedDurationInDays": {
                    "type": "boolean"
                  },
                  "additionalServiceIds": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "serviceId",
                    "itemId",
                    "basePrice",
                    "estimatedDurationInDays",
                    "additionalServiceIds",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceItemMapping.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceItemMapping>"
      },
      "ServiceItemMapping.Filter1": {
        "type": "object",
        "title": "ServiceItemMapping.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": "ServiceItemMapping.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "itemId": {
                    "type": "boolean"
                  },
                  "basePrice": {
                    "type": "boolean"
                  },
                  "estimatedDurationInDays": {
                    "type": "boolean"
                  },
                  "additionalServiceIds": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "serviceId",
                    "itemId",
                    "basePrice",
                    "estimatedDurationInDays",
                    "additionalServiceIds",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceItemMapping.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceItemMapping>"
      },
      "ServiceProcessMapping.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ServiceProcessMapping.ScopeFilter"
      },
      "ServiceProcessMapping.IncludeFilter.Items": {
        "title": "ServiceProcessMapping.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "roles"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ServiceProcessMapping.ScopeFilter"
          }
        }
      },
      "ServiceProcessMapping.Filter": {
        "type": "object",
        "title": "ServiceProcessMapping.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"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "processStepId": {
                    "type": "boolean"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "isInitial": {
                    "type": "boolean"
                  },
                  "isMandatory": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "rolesId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "serviceId",
                    "processStepId",
                    "sequence",
                    "isInitial",
                    "isMandatory",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "rolesId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceProcessMapping.Fields"
          },
          "include": {
            "title": "ServiceProcessMapping.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceProcessMapping.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceProcessMapping>"
      },
      "ServiceProcessMapping.Filter1": {
        "type": "object",
        "title": "ServiceProcessMapping.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": "ServiceProcessMapping.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "processStepId": {
                    "type": "boolean"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "isInitial": {
                    "type": "boolean"
                  },
                  "isMandatory": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "rolesId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "serviceId",
                    "processStepId",
                    "sequence",
                    "isInitial",
                    "isMandatory",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "rolesId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ServiceProcessMapping.Fields"
          },
          "include": {
            "title": "ServiceProcessMapping.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceProcessMapping.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ServiceProcessMapping>"
      },
      "Service.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Service.ScopeFilter"
      },
      "Service.IncludeFilter.Items": {
        "title": "Service.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "media",
              "serviceCategory",
              "items",
              "processSteps"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Service.ScopeFilter"
          }
        }
      },
      "Service.Filter": {
        "type": "object",
        "title": "Service.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"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "estimatedDurationInHours": {
                    "type": "boolean"
                  },
                  "dependencyType": {
                    "type": "boolean"
                  },
                  "hasOwnProcess": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "serviceCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "estimatedDurationInHours",
                    "dependencyType",
                    "hasOwnProcess",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy",
                    "mediaId",
                    "serviceCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Service.Fields"
          },
          "include": {
            "title": "Service.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Service.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "Service.Filter1": {
        "type": "object",
        "title": "Service.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": "Service.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "sequence": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "estimatedDurationInHours": {
                    "type": "boolean"
                  },
                  "dependencyType": {
                    "type": "boolean"
                  },
                  "hasOwnProcess": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  },
                  "mediaId": {
                    "type": "boolean"
                  },
                  "serviceCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "sequence",
                    "code",
                    "description",
                    "estimatedDurationInHours",
                    "dependencyType",
                    "hasOwnProcess",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy",
                    "mediaId",
                    "serviceCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Service.Fields"
          },
          "include": {
            "title": "Service.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Service.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "Stain.Filter": {
        "type": "object",
        "title": "Stain.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"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Stain.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Stain>"
      },
      "Stain.Filter1": {
        "type": "object",
        "title": "Stain.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": "Stain.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Stain.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Stain>"
      },
      "StorePriceOverride.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "StorePriceOverride.ScopeFilter"
      },
      "StorePriceOverride.IncludeFilter.Items": {
        "title": "StorePriceOverride.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "store"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/StorePriceOverride.ScopeFilter"
          }
        }
      },
      "StorePriceOverride.Filter": {
        "type": "object",
        "title": "StorePriceOverride.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"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "storeId",
                    "percentage",
                    "additionalServicePercentage",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "StorePriceOverride.Fields"
          },
          "include": {
            "title": "StorePriceOverride.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StorePriceOverride.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<StorePriceOverride>"
      },
      "StorePriceOverride.Filter1": {
        "type": "object",
        "title": "StorePriceOverride.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": "StorePriceOverride.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "percentage": {
                    "type": "boolean"
                  },
                  "additionalServicePercentage": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "updatedBy": {
                    "type": "boolean"
                  },
                  "deletedBy": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "storeId",
                    "percentage",
                    "additionalServicePercentage",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt",
                    "createdBy",
                    "updatedBy",
                    "deletedBy"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "StorePriceOverride.Fields"
          },
          "include": {
            "title": "StorePriceOverride.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StorePriceOverride.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<StorePriceOverride>"
      },
      "StoreServiceMapping.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "StoreServiceMapping.ScopeFilter"
      },
      "StoreServiceMapping.IncludeFilter.Items": {
        "title": "StoreServiceMapping.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "store",
              "service"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/StoreServiceMapping.ScopeFilter"
          }
        }
      },
      "StoreServiceMapping.Filter": {
        "type": "object",
        "title": "StoreServiceMapping.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"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "dailyCapacity": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "storeId",
                    "serviceId",
                    "dailyCapacity",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "StoreServiceMapping.Fields"
          },
          "include": {
            "title": "StoreServiceMapping.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StoreServiceMapping.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<StoreServiceMapping>"
      },
      "StoreServiceMapping.Filter1": {
        "type": "object",
        "title": "StoreServiceMapping.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": "StoreServiceMapping.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "storeId": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  },
                  "dailyCapacity": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "storeId",
                    "serviceId",
                    "dailyCapacity",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "StoreServiceMapping.Fields"
          },
          "include": {
            "title": "StoreServiceMapping.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StoreServiceMapping.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<StoreServiceMapping>"
      },
      "Store.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Store.ScopeFilter"
      },
      "Store.IncludeFilter.Items": {
        "title": "Store.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "cluster"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Store.ScopeFilter"
          }
        }
      },
      "Store.Filter": {
        "type": "object",
        "title": "Store.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"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "storePrefix": {
                    "type": "boolean"
                  },
                  "isPrefixLocked": {
                    "type": "boolean"
                  },
                  "orderNumberSequence": {
                    "type": "boolean"
                  },
                  "storeType": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "latitude": {
                    "type": "boolean"
                  },
                  "longitude": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "clusterId",
                    "name",
                    "code",
                    "storePrefix",
                    "isPrefixLocked",
                    "orderNumberSequence",
                    "storeType",
                    "address",
                    "city",
                    "state",
                    "country",
                    "pincode",
                    "latitude",
                    "longitude",
                    "email",
                    "phone",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Store.Fields"
          },
          "include": {
            "title": "Store.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Store.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Store>"
      },
      "Store.Filter1": {
        "type": "object",
        "title": "Store.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": "Store.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "clusterId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "storePrefix": {
                    "type": "boolean"
                  },
                  "isPrefixLocked": {
                    "type": "boolean"
                  },
                  "orderNumberSequence": {
                    "type": "boolean"
                  },
                  "storeType": {
                    "type": "boolean"
                  },
                  "address": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "country": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "latitude": {
                    "type": "boolean"
                  },
                  "longitude": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "clusterId",
                    "name",
                    "code",
                    "storePrefix",
                    "isPrefixLocked",
                    "orderNumberSequence",
                    "storeType",
                    "address",
                    "city",
                    "state",
                    "country",
                    "pincode",
                    "latitude",
                    "longitude",
                    "email",
                    "phone",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Store.Fields"
          },
          "include": {
            "title": "Store.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Store.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Store>"
      },
      "SystemNotification.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "SystemNotification.ScopeFilter"
      },
      "SystemNotification.IncludeFilter.Items": {
        "title": "SystemNotification.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/SystemNotification.ScopeFilter"
          }
        }
      },
      "SystemNotification.Filter": {
        "type": "object",
        "title": "SystemNotification.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": "SystemNotification.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "body": {
                    "type": "boolean"
                  },
                  "template": {
                    "type": "boolean"
                  },
                  "pathname": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "extraDetails": {
                    "type": "boolean"
                  },
                  "remark": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "title",
                    "body",
                    "template",
                    "pathname",
                    "status",
                    "extraDetails",
                    "remark",
                    "userId",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "SystemNotification.Fields"
          },
          "include": {
            "title": "SystemNotification.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SystemNotification.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<SystemNotification>"
      },
      "Warehouse.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Warehouse.ScopeFilter"
      },
      "Warehouse.IncludeFilter.Items": {
        "title": "Warehouse.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "region"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Warehouse.ScopeFilter"
          }
        }
      },
      "Warehouse.Filter": {
        "type": "object",
        "title": "Warehouse.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"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "regionId",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Warehouse.Fields"
          },
          "include": {
            "title": "Warehouse.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Warehouse.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Warehouse>"
      },
      "Warehouse.Filter1": {
        "type": "object",
        "title": "Warehouse.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": "Warehouse.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "regionId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "regionId",
                    "name",
                    "code",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Warehouse.Fields"
          },
          "include": {
            "title": "Warehouse.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Warehouse.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Warehouse>"
      }
    }
  }
}