{
  "openapi": "3.1.1",
  "info": {
    "title": "cucigo-api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.cucigo.com/"
    }
  ],
  "paths": {
    "/api/Account/Login": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Account/Register": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Account/Edit": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditUserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditUserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditUserDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Account/GetList": {
      "post": {
        "tags": [
          "Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAccountListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAccountListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAccountListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Account/Delete": {
      "delete": {
        "tags": [
          "Account"
        ],
        "parameters": [
          {
            "name": "targetId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Account/GetAvailableRoles": {
      "post": {
        "tags": [
          "Account"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Branch/Create": {
      "post": {
        "tags": [
          "Branch"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBranchDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBranchDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBranchDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Branch/Edit": {
      "post": {
        "tags": [
          "Branch"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditBranchDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditBranchDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditBranchDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Branch/GetList": {
      "post": {
        "tags": [
          "Branch"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetBranchListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetBranchListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetBranchListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Branch/Get": {
      "get": {
        "tags": [
          "Branch"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Branch/Delete": {
      "delete": {
        "tags": [
          "Branch"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Company/Create": {
      "post": {
        "tags": [
          "Company"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCompanyDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCompanyDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCompanyDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Company/Edit": {
      "post": {
        "tags": [
          "Company"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditCompanyDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditCompanyDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditCompanyDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Company/GetList": {
      "post": {
        "tags": [
          "Company"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCompanyListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCompanyListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetCompanyListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Company/Get": {
      "get": {
        "tags": [
          "Company"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Company/Delete": {
      "delete": {
        "tags": [
          "Company"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Region/Import": {
      "post": {
        "tags": [
          "Region"
        ],
        "parameters": [
          {
            "name": "province",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Region/GetList": {
      "get": {
        "tags": [
          "Region"
        ],
        "parameters": [
          {
            "name": "parentCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Region/Resolve": {
      "get": {
        "tags": [
          "Region"
        ],
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Upload/File": {
      "post": {
        "tags": [
          "Upload"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Account/Login": {
      "post": {
        "tags": [
          "Merchant/Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Account/ChangePassword": {
      "post": {
        "tags": [
          "Merchant/Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Account/GetNotificationSetting": {
      "get": {
        "tags": [
          "Merchant/Account"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Account/SaveNotificationSetting": {
      "post": {
        "tags": [
          "Merchant/Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSettingDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSettingDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationSettingDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Coupon/Create": {
      "post": {
        "tags": [
          "Merchant/Coupon"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Coupon/Edit": {
      "post": {
        "tags": [
          "Merchant/Coupon"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditCouponDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditCouponDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditCouponDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Coupon/GetList": {
      "post": {
        "tags": [
          "Merchant/Coupon"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCouponListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetCouponListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetCouponListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Coupon/Get": {
      "get": {
        "tags": [
          "Merchant/Coupon"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Coupon/Delete": {
      "delete": {
        "tags": [
          "Merchant/Coupon"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Customer/GetList": {
      "post": {
        "tags": [
          "Merchant/Customer"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Customer/Get": {
      "get": {
        "tags": [
          "Merchant/Customer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Customer/GetOrders": {
      "post": {
        "tags": [
          "Merchant/Customer"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerOrderListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerOrderListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetMerchantCustomerOrderListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Customer/GetAddresses": {
      "get": {
        "tags": [
          "Merchant/Customer"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Dashboard/Get": {
      "get": {
        "tags": [
          "Merchant/Dashboard"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/Create": {
      "post": {
        "tags": [
          "Merchant/Driver"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDriverDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDriverDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDriverDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/Edit": {
      "post": {
        "tags": [
          "Merchant/Driver"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditDriverDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditDriverDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditDriverDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/GetList": {
      "post": {
        "tags": [
          "Merchant/Driver"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/Get": {
      "get": {
        "tags": [
          "Merchant/Driver"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/GetTasks": {
      "post": {
        "tags": [
          "Merchant/Driver"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTaskListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTaskListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTaskListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Driver/Delete": {
      "delete": {
        "tags": [
          "Merchant/Driver"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Holiday/Create": {
      "post": {
        "tags": [
          "Merchant/Holiday"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateHolidayDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateHolidayDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateHolidayDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Holiday/Edit": {
      "post": {
        "tags": [
          "Merchant/Holiday"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditHolidayDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditHolidayDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditHolidayDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Holiday/GetList": {
      "post": {
        "tags": [
          "Merchant/Holiday"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetHolidayListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetHolidayListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetHolidayListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Holiday/Get": {
      "get": {
        "tags": [
          "Merchant/Holiday"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Holiday/Delete": {
      "delete": {
        "tags": [
          "Merchant/Holiday"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperatingHour/Get": {
      "get": {
        "tags": [
          "Merchant/OperatingHour"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperatingHour/Save": {
      "post": {
        "tags": [
          "Merchant/OperatingHour"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatingHoursDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatingHoursDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveOperatingHoursDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/GetDeliveryFee": {
      "get": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/SaveDeliveryFee": {
      "post": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryFeeDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryFeeDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryFeeDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/GetPickup": {
      "get": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/SavePickup": {
      "post": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PickupSettingDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PickupSettingDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PickupSettingDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/GetCapacity": {
      "get": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/SaveCapacity": {
      "post": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DailyCapacityDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DailyCapacityDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DailyCapacityDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/GetInspection": {
      "get": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/SaveInspection": {
      "post": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderInspectionDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderInspectionDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderInspectionDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/GetPointEarning": {
      "get": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/OperationalSetting/SavePointEarning": {
      "post": {
        "tags": [
          "Merchant/OperationalSetting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PointEarningDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PointEarningDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PointEarningDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/GetList": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/Get": {
      "get": {
        "tags": [
          "Merchant/Order"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/Accept": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptOrderDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptOrderDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptOrderDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/ExtendEstimate": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendEstimateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendEstimateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendEstimateDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/AssignDriver": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/GetAssignable": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssignableOrdersRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssignableOrdersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetAssignableOrdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/BulkAssignDriver": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAssignDriverDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAssignDriverDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAssignDriverDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/PreviewReceive": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/ConfirmReceived": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiveOrderDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/StartProcess": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartProcessDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartProcessDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartProcessDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/MarkReady": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkReadyDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkReadyDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MarkReadyDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/AssignDeliveryDriver": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignDriverDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Order/Reject": {
      "post": {
        "tags": [
          "Merchant/Order"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectOrderDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectOrderDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RejectOrderDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/PointReward/Create": {
      "post": {
        "tags": [
          "Merchant/PointReward"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePointRewardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePointRewardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePointRewardDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/PointReward/Edit": {
      "post": {
        "tags": [
          "Merchant/PointReward"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditPointRewardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditPointRewardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditPointRewardDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/PointReward/GetList": {
      "post": {
        "tags": [
          "Merchant/PointReward"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointRewardListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointRewardListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointRewardListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/PointReward/Get": {
      "get": {
        "tags": [
          "Merchant/PointReward"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/PointReward/Delete": {
      "delete": {
        "tags": [
          "Merchant/PointReward"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Report/GetFinance": {
      "get": {
        "tags": [
          "Merchant/Report"
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "schema": {
              "default": "ThisMonth",
              "$ref": "#/components/schemas/ReportPeriod"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Report/GetOrders": {
      "get": {
        "tags": [
          "Merchant/Report"
        ],
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "schema": {
              "default": "ThisMonth",
              "$ref": "#/components/schemas/ReportPeriod"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/ServiceArea/Get": {
      "get": {
        "tags": [
          "Merchant/ServiceArea"
        ],
        "parameters": [
          {
            "name": "applyRadius",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/ServiceArea/SaveRadius": {
      "post": {
        "tags": [
          "Merchant/ServiceArea"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRadiusDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRadiusDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceRadiusDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/ServiceArea/SaveSelection": {
      "post": {
        "tags": [
          "Merchant/ServiceArea"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceAreaSelectionDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceAreaSelectionDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceAreaSelectionDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Service/Create": {
      "post": {
        "tags": [
          "Merchant/Service"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServiceDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServiceDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServiceDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Service/Edit": {
      "post": {
        "tags": [
          "Merchant/Service"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditServiceDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditServiceDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditServiceDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Service/GetList": {
      "post": {
        "tags": [
          "Merchant/Service"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetServiceListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetServiceListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetServiceListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Service/Get": {
      "get": {
        "tags": [
          "Merchant/Service"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/Service/Delete": {
      "delete": {
        "tags": [
          "Merchant/Service"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/StoreProfile/Get": {
      "get": {
        "tags": [
          "Merchant/StoreProfile"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/StoreProfile/Update": {
      "post": {
        "tags": [
          "Merchant/StoreProfile"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreProfileDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreProfileDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreProfileDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Merchant/StoreProfile/SetOpenStatus": {
      "post": {
        "tags": [
          "Merchant/StoreProfile"
        ],
        "parameters": [
          {
            "name": "isOpen",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Account/Login": {
      "post": {
        "tags": [
          "Driver/Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Account/SetOnline": {
      "post": {
        "tags": [
          "Driver/Account"
        ],
        "parameters": [
          {
            "name": "isOnline",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Account/ChangePassword": {
      "post": {
        "tags": [
          "Driver/Account"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Dashboard/Get": {
      "get": {
        "tags": [
          "Driver/Dashboard"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/GetSummary": {
      "get": {
        "tags": [
          "Driver/Task"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/GetList": {
      "post": {
        "tags": [
          "Driver/Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTasksRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTasksRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetDriverTasksRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/Get": {
      "get": {
        "tags": [
          "Driver/Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/PreviewPickup": {
      "post": {
        "tags": [
          "Driver/Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/ConfirmPickup": {
      "post": {
        "tags": [
          "Driver/Task"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmPickupDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Driver/Task/ConfirmDelivered": {
      "post": {
        "tags": [
          "Driver/Task"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Account/Login": {
      "post": {
        "tags": [
          "Customer/Account"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Account/CheckAccount": {
      "post": {
        "tags": [
          "Customer/Account"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckAccountRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckAccountRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CheckAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Account/Register": {
      "post": {
        "tags": [
          "Customer/Account"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerRegisterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerRegisterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerRegisterDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Account/ChangePassword": {
      "post": {
        "tags": [
          "Customer/Account"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/GetList": {
      "get": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/Get": {
      "get": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/Create": {
      "post": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAddressDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/Edit": {
      "post": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditAddressDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditAddressDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditAddressDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/Delete": {
      "delete": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Address/SetPrimary": {
      "post": {
        "tags": [
          "Customer/Address"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Branch/GetList": {
      "get": {
        "tags": [
          "Customer/Branch"
        ],
        "parameters": [
          {
            "name": "regionCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Branch/GetServices": {
      "get": {
        "tags": [
          "Customer/Branch"
        ],
        "parameters": [
          {
            "name": "branchId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Branch/GetPickupSlots": {
      "get": {
        "tags": [
          "Customer/Branch"
        ],
        "parameters": [
          {
            "name": "branchId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Coupon/GetList": {
      "get": {
        "tags": [
          "Customer/Coupon"
        ],
        "parameters": [
          {
            "name": "tab",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CouponTab"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CouponType"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/GetList": {
      "post": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetNotificationListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/GetUnreadCount": {
      "get": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/MarkRead": {
      "post": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/MarkAllRead": {
      "post": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/GetSetting": {
      "get": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Notification/SaveSetting": {
      "post": {
        "tags": [
          "Customer/Notification"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerNotificationSettingDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerNotificationSettingDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerNotificationSettingDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/Quote": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/GetCoupons": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/Submit": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/SaveDraft": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OrderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/GetList": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetOrderListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/Get": {
      "get": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/DeleteDraft": {
      "delete": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/GetActiveSummary": {
      "get": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/GetSpending": {
      "get": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "range",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SpendingRange"
            }
          },
          {
            "name": "timeZone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/GetSpendingHistory": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerPaginationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ServerPaginationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ServerPaginationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Order/SimulatePayment": {
      "post": {
        "tags": [
          "Customer/Order"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Point/GetSummary": {
      "get": {
        "tags": [
          "Customer/Point"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Point/GetHistory": {
      "post": {
        "tags": [
          "Customer/Point"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointHistoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointHistoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetPointHistoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Point/GetRewards": {
      "get": {
        "tags": [
          "Customer/Point"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CouponType"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Point/Redeem": {
      "post": {
        "tags": [
          "Customer/Point"
        ],
        "parameters": [
          {
            "name": "rewardId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Profile/Get": {
      "get": {
        "tags": [
          "Customer/Profile"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Profile/Update": {
      "post": {
        "tags": [
          "Customer/Profile"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProfileDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProfileDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProfileDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Profile/UpdatePersonal": {
      "post": {
        "tags": [
          "Customer/Profile"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePersonalProfileDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePersonalProfileDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePersonalProfileDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Profile/GetRooms": {
      "get": {
        "tags": [
          "Customer/Profile"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Profile/SaveRooms": {
      "post": {
        "tags": [
          "Customer/Profile"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveRoomsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveRoomsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveRoomsDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/GetSummary": {
      "get": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/GetHistory": {
      "post": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetWalletHistoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GetWalletHistoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GetWalletHistoryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/CreateTopUp": {
      "post": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTopUpDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTopUpDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTopUpDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/GetTopUp": {
      "get": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/SimulateTopUp": {
      "post": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/Customer/Wallet/PayOrder": {
      "post": {
        "tags": [
          "Customer/Wallet"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-App-Id",
            "in": "header",
            "description": "White-label app id (Company.MobileAppId).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "Bearer": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AcceptOrderDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "estimatedCompletionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AddedItemDto": {
        "required": [
          "serviceVariantId"
        ],
        "type": "object",
        "properties": {
          "serviceVariantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "maximum": 100000,
            "minimum": 0.01,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "proofPhotoUrl": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "AddressDto": {
        "required": [
          "recipientName",
          "phoneNumber",
          "address",
          "regionCode"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "recipientName": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "regionCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "AssignableSort": {
        "enum": [
          "Nearest",
          "Farthest",
          "Newest",
          "Oldest"
        ]
      },
      "AssignDriverDto": {
        "required": [
          "id",
          "driverId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "driverId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "BulkAssignDriverDto": {
        "required": [
          "orderIds",
          "driverId"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DriverTaskType"
          },
          "orderIds": {
            "minItems": 1,
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "driverId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CapacityLimitType": {
        "enum": [
          "None",
          "ByOrderCount",
          "ByWeight"
        ]
      },
      "ChangePasswordDto": {
        "required": [
          "currentPassword",
          "newPassword"
        ],
        "type": "object",
        "properties": {
          "currentPassword": {
            "type": [
              "null",
              "string"
            ]
          },
          "newPassword": {
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,}$",
            "type": [
              "null",
              "string"
            ]
          },
          "confirmPassword": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CheckAccountRequest": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ClothingDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "maximum": 9999,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ConfirmPickupDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "clothes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ClothingDto"
            }
          },
          "adjustments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ItemAdjustmentDto"
            }
          },
          "photoUrl": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CouponBenefitType": {
        "enum": [
          "Percentage",
          "Nominal",
          "Full"
        ]
      },
      "CouponTab": {
        "enum": [
          "Available",
          "Used",
          "Expired"
        ]
      },
      "CouponType": {
        "enum": [
          "Discount",
          "Cashback",
          "FreeShipping"
        ]
      },
      "CreateAddressDto": {
        "required": [
          "recipientName",
          "phoneNumber",
          "address",
          "regionCode"
        ],
        "type": "object",
        "properties": {
          "isPrimary": {
            "type": "boolean"
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "recipientName": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "regionCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreateBranchDto": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "province": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "district": {
            "type": [
              "null",
              "string"
            ]
          },
          "subDistrict": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreateCompanyDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "mobileAppId": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentTiming": {
            "$ref": "#/components/schemas/PaymentTiming"
          }
        }
      },
      "CreateCouponDto": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "benefitType": {
            "$ref": "#/components/schemas/CouponBenefitType"
          },
          "value": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minTransaction": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "customerCriteria": {
            "$ref": "#/components/schemas/CustomerCriteria"
          },
          "minCompletedOrders": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "activeWithinDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "format": "date"
          },
          "endDate": {
            "type": "string",
            "format": "date"
          },
          "serviceVariantIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateDriverDto": {
        "required": [
          "name",
          "phoneNumber",
          "password",
          "confirmPassword",
          "vehicleType"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "confirmPassword": {
            "type": [
              "null",
              "string"
            ]
          },
          "vehicleType": {
            "$ref": "#/components/schemas/VehicleType"
          }
        }
      },
      "CreateHolidayDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "closureType": {
            "$ref": "#/components/schemas/HolidayClosureType"
          },
          "openTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "closeTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          }
        }
      },
      "CreatePointRewardDto": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean"
          },
          "pointCost": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limitPerCustomer": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "benefitType": {
            "$ref": "#/components/schemas/CouponBenefitType"
          },
          "value": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minTransaction": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "validDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "customerCriteria": {
            "$ref": "#/components/schemas/CustomerCriteria"
          },
          "minCompletedOrders": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "activeWithinDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "serviceVariantIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateServiceDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "variants": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ServiceVariantDto"
            }
          }
        }
      },
      "CreateTopUpDto": {
        "required": [
          "method"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "method": {
            "maxLength": 50,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CustomerCriteria": {
        "enum": [
          "All",
          "New",
          "MinOrders",
          "Active"
        ]
      },
      "CustomerLoginRequest": {
        "type": "object",
        "properties": {
          "deviceToken": {
            "type": [
              "null",
              "string"
            ]
          },
          "userName": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "rememberMe": {
            "type": "boolean"
          }
        }
      },
      "CustomerNotificationSettingDto": {
        "type": "object",
        "properties": {
          "notifyOrderStatus": {
            "type": "boolean"
          },
          "notifyPayment": {
            "type": "boolean"
          },
          "notifyNews": {
            "type": "boolean"
          }
        }
      },
      "CustomerRegisterDto": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/CustomerType"
          },
          "businessName": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "confirmPassword": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CustomerType": {
        "enum": [
          "Personal",
          "Penginapan",
          null
        ]
      },
      "DailyCapacityDto": {
        "type": "object",
        "properties": {
          "limitType": {
            "$ref": "#/components/schemas/CapacityLimitType"
          },
          "maxOrdersPerDay": {
            "maximum": 2147483647,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxWeightPerDayKg": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "DayOfWeek": {
        "enum": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ]
      },
      "DeliveryFeeDto": {
        "type": "object",
        "properties": {
          "freeShippingEnabled": {
            "type": "boolean"
          },
          "freeRadiusKm": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "baseFee": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "perKm": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "DriverSortBy": {
        "enum": [
          "Newest",
          "Oldest",
          "NameAsc",
          "NameDesc",
          "TaskCount"
        ]
      },
      "DriverStatus": {
        "enum": [
          "Offline",
          "Online",
          "OnTask",
          null
        ]
      },
      "DriverTaskTab": {
        "enum": [
          "Today",
          "History"
        ]
      },
      "DriverTaskType": {
        "enum": [
          "Pickup",
          "Delivery",
          null
        ]
      },
      "EditAddressDto": {
        "required": [
          "id",
          "recipientName",
          "phoneNumber",
          "address",
          "regionCode"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "label": {
            "type": [
              "null",
              "string"
            ]
          },
          "recipientName": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "regionCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "EditBranchDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "companyId": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "province": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "district": {
            "type": [
              "null",
              "string"
            ]
          },
          "subDistrict": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "EditCompanyDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "mobileAppId": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentTiming": {
            "$ref": "#/components/schemas/PaymentTiming"
          }
        }
      },
      "EditCouponDto": {
        "required": [
          "id",
          "code"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "benefitType": {
            "$ref": "#/components/schemas/CouponBenefitType"
          },
          "value": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minTransaction": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "customerCriteria": {
            "$ref": "#/components/schemas/CustomerCriteria"
          },
          "minCompletedOrders": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "activeWithinDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "format": "date"
          },
          "endDate": {
            "type": "string",
            "format": "date"
          },
          "serviceVariantIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EditDriverDto": {
        "required": [
          "id",
          "name",
          "phoneNumber",
          "vehicleType"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "vehicleType": {
            "$ref": "#/components/schemas/VehicleType"
          },
          "isActive": {
            "type": "boolean"
          },
          "newPassword": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "EditHolidayDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "closureType": {
            "$ref": "#/components/schemas/HolidayClosureType"
          },
          "openTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "closeTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          }
        }
      },
      "EditPointRewardDto": {
        "required": [
          "id",
          "code"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "pointCost": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "limitPerCustomer": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "benefitType": {
            "$ref": "#/components/schemas/CouponBenefitType"
          },
          "value": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxValue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "minTransaction": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "validDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "customerCriteria": {
            "$ref": "#/components/schemas/CustomerCriteria"
          },
          "minCompletedOrders": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "activeWithinDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "serviceVariantIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EditServiceDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "variants": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ServiceVariantDto"
            }
          }
        }
      },
      "EditUserDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "profilePicturePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "roles": {
            "$ref": "#/components/schemas/RegisterRoleDto"
          },
          "isActive": {
            "type": "boolean"
          },
          "newPassword": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ExtendEstimateDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "estimatedCompletionDate": {
            "type": "string",
            "format": "date-time"
          },
          "reason": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetAccountListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "companyId": {
            "type": [
              "null",
              "string"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetAssignableOrdersRequest": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DriverTaskType"
          },
          "loadType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LoadType"
              }
            ]
          },
          "customerType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerType"
              }
            ]
          },
          "sortBy": {
            "$ref": "#/components/schemas/AssignableSort"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetBranchListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "companyId": {
            "type": [
              "null",
              "string"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetCompanyListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetCouponListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CouponType"
              }
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetDriverListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "vehicleType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/VehicleType"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/DriverStatus"
              }
            ]
          },
          "sortBy": {
            "$ref": "#/components/schemas/DriverSortBy"
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetDriverTaskListRequest": {
        "required": [
          "driverId"
        ],
        "type": "object",
        "properties": {
          "driverId": {
            "type": [
              "null",
              "string"
            ]
          },
          "tab": {
            "$ref": "#/components/schemas/DriverTaskTab"
          },
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/DriverTaskType"
              }
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetDriverTasksRequest": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DriverTaskType"
          },
          "done": {
            "type": "boolean"
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetHolidayListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetMerchantCustomerListRequest": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerType"
              }
            ]
          },
          "sortBy": {
            "$ref": "#/components/schemas/MerchantCustomerSortBy"
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetMerchantCustomerOrderListRequest": {
        "required": [
          "customerId"
        ],
        "type": "object",
        "properties": {
          "customerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "tab": {
            "$ref": "#/components/schemas/MerchantCustomerOrderTab"
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetNotificationListRequest": {
        "type": "object",
        "properties": {
          "category": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NotificationCategory"
              }
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetOrderListRequest": {
        "type": "object",
        "properties": {
          "statuses": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OrderStatus"
            }
          },
          "year": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "month": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "sortBy": {
            "$ref": "#/components/schemas/OrderSort"
          },
          "timeZone": {
            "type": [
              "null",
              "string"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetPointHistoryRequest": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PointTransactionType"
              }
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetPointRewardListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CouponType"
              }
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetServiceListRequest": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "GetWalletHistoryRequest": {
        "type": "object",
        "properties": {
          "type": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WalletTransactionType"
              }
            ]
          },
          "year": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "month": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "timeZone": {
            "type": [
              "null",
              "string"
            ]
          },
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "HolidayClosureType": {
        "enum": [
          "FullDay",
          "Partial"
        ]
      },
      "IFormFile": {
        "type": "string",
        "format": "binary"
      },
      "InspectionBy": {
        "enum": [
          "Laundry",
          "Driver"
        ]
      },
      "ItemAdjustmentDto": {
        "required": [
          "orderItemId"
        ],
        "type": "object",
        "properties": {
          "orderItemId": {
            "type": [
              "null",
              "string"
            ]
          },
          "actualQuantity": {
            "maximum": 100000,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "proofPhotoUrl": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "LoadType": {
        "enum": [
          "Standard",
          "Heavy",
          null
        ]
      },
      "LoginRequest": {
        "type": "object",
        "properties": {
          "userName": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "rememberMe": {
            "type": "boolean"
          }
        }
      },
      "MarkReadyDto": {
        "required": [
          "id",
          "photoUrl"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "photoUrl": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MerchantCustomerOrderTab": {
        "enum": [
          "All",
          "Completed",
          "Active",
          "Failed"
        ]
      },
      "MerchantCustomerSortBy": {
        "enum": [
          "Newest",
          "Oldest",
          "NameAsc",
          "NameDesc",
          "MostOrders",
          "LastOrder"
        ]
      },
      "NotificationCategory": {
        "enum": [
          "Order",
          "Payment",
          "Account",
          null
        ]
      },
      "NotificationSettingDto": {
        "type": "object",
        "properties": {
          "notifyNewOrder": {
            "type": "boolean"
          },
          "notifyPaymentReceived": {
            "type": "boolean"
          },
          "notifyOrderPickedUp": {
            "type": "boolean"
          },
          "notifyOrderDelivered": {
            "type": "boolean"
          }
        }
      },
      "OperatingHourDto": {
        "type": "object",
        "properties": {
          "day": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "isOpen": {
            "type": "boolean"
          },
          "openTime": {
            "type": "string",
            "format": "time"
          },
          "closeTime": {
            "type": "string",
            "format": "time"
          }
        }
      },
      "OrderInspectionDto": {
        "type": "object",
        "properties": {
          "inspectionBy": {
            "$ref": "#/components/schemas/InspectionBy"
          }
        }
      },
      "OrderItemRequest": {
        "required": [
          "serviceVariantId"
        ],
        "type": "object",
        "properties": {
          "roomId": {
            "type": [
              "null",
              "string"
            ]
          },
          "serviceVariantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "notes": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OrderRequest": {
        "required": [
          "branchId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "branchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "addressId": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "contactEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "pickupDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "pickupStartTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "pickupEndTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OrderItemRequest"
            }
          },
          "couponId": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerCouponId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OrderSort": {
        "enum": [
          "Newest",
          "Oldest",
          "NearestCompletion"
        ]
      },
      "OrderStatus": {
        "enum": [
          "Draft",
          "WaitingConfirmation",
          "WaitingPayment",
          "Processing",
          "PriceAdjustment",
          "Completed",
          "Cancelled",
          "Rejected"
        ]
      },
      "PaymentTiming": {
        "enum": [
          "AfterConfirmation",
          "BeforeConfirmation",
          "AfterProcess"
        ]
      },
      "PickupSettingDto": {
        "type": "object",
        "properties": {
          "minLeadMinutes": {
            "maximum": 1440,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "slots": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PickupSlotDto"
            }
          }
        }
      },
      "PickupSlotDto": {
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "format": "time"
          },
          "endTime": {
            "type": "string",
            "format": "time"
          }
        }
      },
      "PointEarningDto": {
        "type": "object",
        "properties": {
          "pointsPerTransaction": {
            "maximum": 2147483647,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "transactionValue": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "PointTransactionType": {
        "enum": [
          "Earned",
          "Redeemed",
          null
        ]
      },
      "ProfileAddressDto": {
        "required": [
          "address",
          "regionCode"
        ],
        "type": "object",
        "properties": {
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "regionCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ReceiveOrderDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "clothes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ClothingDto"
            }
          },
          "adjustments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ItemAdjustmentDto"
            }
          },
          "addedItems": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/AddedItemDto"
            }
          }
        }
      },
      "RegisterDto": {
        "type": "object",
        "properties": {
          "userName": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "confirmPassword": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "profilePicturePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "roles": {
            "$ref": "#/components/schemas/RegisterRoleDto"
          },
          "branchId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RegisterRoleDto": {
        "type": "object",
        "properties": {
          "superAdmin": {
            "type": "boolean"
          },
          "merchant": {
            "type": "boolean"
          }
        }
      },
      "RejectionReason": {
        "enum": [
          "OperationalIssue",
          "ServiceUnavailable",
          "Other"
        ]
      },
      "RejectOrderDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "reason": {
            "$ref": "#/components/schemas/RejectionReason"
          },
          "note": {
            "maxLength": 500,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ReportPeriod": {
        "enum": [
          "ThisMonth",
          "LastMonth",
          "Last3Months",
          "Last6Months"
        ]
      },
      "SaveOperatingHoursDto": {
        "type": "object",
        "properties": {
          "days": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OperatingHourDto"
            }
          }
        }
      },
      "SaveRoomsDto": {
        "required": [
          "names"
        ],
        "type": "object",
        "properties": {
          "names": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ServerPaginationRequest": {
        "type": "object",
        "properties": {
          "skip": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "take": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "filter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ServiceAreaSelectionDto": {
        "type": "object",
        "properties": {
          "regionCodes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ServiceRadiusDto": {
        "type": "object",
        "properties": {
          "radiusKm": {
            "maximum": 100,
            "minimum": 0.1,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ServiceUnit": {
        "enum": [
          "Kg",
          "Pcs"
        ]
      },
      "ServiceVariantDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "estimatedDays": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pricePerUnit": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "unit": {
            "$ref": "#/components/schemas/ServiceUnit"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "SpendingRange": {
        "enum": [
          "Weekly",
          "Monthly",
          "Yearly"
        ]
      },
      "StartProcessDto": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdatePersonalProfileDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdateProfileDto": {
        "required": [
          "businessName",
          "picName",
          "phoneNumber",
          "address"
        ],
        "type": "object",
        "properties": {
          "businessName": {
            "maxLength": 100,
            "type": [
              "null",
              "string"
            ]
          },
          "picName": {
            "maxLength": 100,
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "$ref": "#/components/schemas/ProfileAddressDto"
          }
        }
      },
      "UpdateStoreProfileDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "province": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "district": {
            "type": [
              "null",
              "string"
            ]
          },
          "subDistrict": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "latitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "longitude": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "VehicleType": {
        "enum": [
          "Motor",
          "Mobil"
        ]
      },
      "WalletTransactionType": {
        "enum": [
          "TopUp",
          "Payment",
          "Refund",
          "Cashback",
          null
        ]
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "tags": [
    {
      "name": "Account",
      "x-displayName": "Account"
    },
    {
      "name": "Branch",
      "x-displayName": "Branch"
    },
    {
      "name": "Company",
      "x-displayName": "Company"
    },
    {
      "name": "Region",
      "x-displayName": "Region"
    },
    {
      "name": "Upload",
      "x-displayName": "Upload"
    },
    {
      "name": "Merchant/Account",
      "x-displayName": "Account"
    },
    {
      "name": "Merchant/Coupon",
      "x-displayName": "Coupon"
    },
    {
      "name": "Merchant/Customer",
      "x-displayName": "Customer"
    },
    {
      "name": "Merchant/Dashboard",
      "x-displayName": "Dashboard"
    },
    {
      "name": "Merchant/Driver",
      "x-displayName": "Driver"
    },
    {
      "name": "Merchant/Holiday",
      "x-displayName": "Holiday"
    },
    {
      "name": "Merchant/OperatingHour",
      "x-displayName": "OperatingHour"
    },
    {
      "name": "Merchant/OperationalSetting",
      "x-displayName": "OperationalSetting"
    },
    {
      "name": "Merchant/Order",
      "x-displayName": "Order"
    },
    {
      "name": "Merchant/PointReward",
      "x-displayName": "PointReward"
    },
    {
      "name": "Merchant/Report",
      "x-displayName": "Report"
    },
    {
      "name": "Merchant/ServiceArea",
      "x-displayName": "ServiceArea"
    },
    {
      "name": "Merchant/Service",
      "x-displayName": "Service"
    },
    {
      "name": "Merchant/StoreProfile",
      "x-displayName": "StoreProfile"
    },
    {
      "name": "Driver/Account",
      "x-displayName": "Account"
    },
    {
      "name": "Driver/Dashboard",
      "x-displayName": "Dashboard"
    },
    {
      "name": "Driver/Task",
      "x-displayName": "Task"
    },
    {
      "name": "Customer/Account",
      "x-displayName": "Account"
    },
    {
      "name": "Customer/Address",
      "x-displayName": "Address"
    },
    {
      "name": "Customer/Branch",
      "x-displayName": "Branch"
    },
    {
      "name": "Customer/Coupon",
      "x-displayName": "Coupon"
    },
    {
      "name": "Customer/Notification",
      "x-displayName": "Notification"
    },
    {
      "name": "Customer/Order",
      "x-displayName": "Order"
    },
    {
      "name": "Customer/Point",
      "x-displayName": "Point"
    },
    {
      "name": "Customer/Profile",
      "x-displayName": "Profile"
    },
    {
      "name": "Customer/Wallet",
      "x-displayName": "Wallet"
    }
  ],
  "x-tagGroups": [
    {
      "name": "API",
      "tags": [
        "Account",
        "Branch",
        "Company",
        "Region",
        "Upload"
      ]
    },
    {
      "name": "Customer",
      "tags": [
        "Customer/Account",
        "Customer/Address",
        "Customer/Branch",
        "Customer/Coupon",
        "Customer/Notification",
        "Customer/Order",
        "Customer/Point",
        "Customer/Profile",
        "Customer/Wallet"
      ]
    },
    {
      "name": "Driver",
      "tags": [
        "Driver/Account",
        "Driver/Dashboard",
        "Driver/Task"
      ]
    },
    {
      "name": "Merchant",
      "tags": [
        "Merchant/Account",
        "Merchant/Coupon",
        "Merchant/Customer",
        "Merchant/Dashboard",
        "Merchant/Driver",
        "Merchant/Holiday",
        "Merchant/OperatingHour",
        "Merchant/OperationalSetting",
        "Merchant/Order",
        "Merchant/PointReward",
        "Merchant/Report",
        "Merchant/Service",
        "Merchant/ServiceArea",
        "Merchant/StoreProfile"
      ]
    }
  ]
}