{
  "openapi": "3.1.1",
  "info": {
    "title": "cucigo-api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api-cucigo.ultimosolution.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/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/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/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/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/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": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "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"
            ]
          }
        }
      },
      "CouponBenefitType": {
        "enum": [
          "Percentage",
          "Nominal",
          "Full"
        ]
      },
      "CouponType": {
        "enum": [
          "Discount",
          "Cashback",
          "FreeShipping"
        ]
      },
      "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"
            ]
          }
        }
      },
      "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"
          }
        }
      },
      "CreateServiceDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "variants": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ServiceVariantDto"
            }
          }
        }
      },
      "CustomerCriteria": {
        "enum": [
          "All",
          "New",
          "MinOrders",
          "Active"
        ]
      },
      "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"
        ]
      },
      "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"
            ]
          }
        }
      },
      "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"
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
              }
            ]
          },
          "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "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"
            ]
          }
        }
      },
      "HolidayClosureType": {
        "enum": [
          "FullDay",
          "Partial"
        ]
      },
      "LoginRequest": {
        "type": "object",
        "properties": {
          "userName": {
            "type": [
              "null",
              "string"
            ]
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "rememberMe": {
            "type": "boolean"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          }
        }
      },
      "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"
          },
          "admin": {
            "type": "boolean"
          }
        }
      },
      "SaveOperatingHoursDto": {
        "type": "object",
        "properties": {
          "days": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OperatingHourDto"
            }
          }
        }
      },
      "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"
          }
        }
      },
      "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"
        ]
      }
    },
    "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": "Merchant/Account",
      "x-displayName": "Account"
    },
    {
      "name": "Merchant/Coupon",
      "x-displayName": "Coupon"
    },
    {
      "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/Service",
      "x-displayName": "Service"
    },
    {
      "name": "Merchant/StoreProfile",
      "x-displayName": "StoreProfile"
    }
  ],
  "x-tagGroups": [
    {
      "name": "API",
      "tags": [
        "Account",
        "Branch",
        "Company"
      ]
    },
    {
      "name": "Merchant",
      "tags": [
        "Merchant/Account",
        "Merchant/Coupon",
        "Merchant/Driver",
        "Merchant/Holiday",
        "Merchant/OperatingHour",
        "Merchant/OperationalSetting",
        "Merchant/Service",
        "Merchant/StoreProfile"
      ]
    }
  ]
}