{
  "swagger": "2.0",
  "info": {
    "description": "Shipping Portal to manage parcel",
    "version": "1.0.0",
    "title": "Shipping Portal"
  },
  "host": "{{request()->getHttpHost()}}",
  "basePath": "/api/v1",
  "tags": [
    {
      "name": "Account",
      "description": "Endpoints related to user module, e.g. login, register."
    },
    {
      "name": "Address",
      "description": "Endpoints related to address module, e.g. create, district."
    },
    {
      "name": "Bank",
      "description": "Endpoints related to bank module."
    },
    {
      "name": "Company",
      "description": "Endpoints related to company module."
    },
    {
      "name": "Order",
      "description": "Endpoints related to order module."
    },
    {
      "name": "Packing",
      "description": "Endpoints related to packing module."
    },
    {
      "name": "Package",
      "description": "Endpoints related to package module."
    },
    {
      "name": "Container",
      "description": "Endpoints related to container module."
    },
    {
      "name": "Transport",
      "description": "Endpoints related to transport module."
    },
    {
      "name": "Schedule",
      "description": "Endpoints related to schedule module."
    },
    {
      "name": "Remark",
      "description": "Endpoints related to remark module."
    },
    {
      "name": "Flow - Registration",
      "description": "Endpoints related to registration flow."
    }
  ],
  "schemes": [
    "http",
    "https"
  ],
  "paths": {
    "/packing_list/create": {
      "post": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createPacking",
        "summary": "Create packing",
        "description": "",
        "parameters": [
          {
            "name": "reference_number",
            "in": "query",
            "description": "Reference No",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/inbound-custom-cleared": {
      "get": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listPackingIn",
        "summary": "List packing",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/list": {
      "get": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listPacking",
        "summary": "List packing",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/{id}/show": {
      "get": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showPacking",
        "summary": "Show packing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/update/{id}": {
      "put": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updatePacking",
        "summary": "Update packing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Packing list id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/delete/{id}": {
      "delete": {
        "tags": [
          "Packing"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deletePacking",
        "summary": "Delete packing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/create": {
      "post": {
        "tags": [
          "Container"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createContainer",
        "summary": "Create container packing list",
        "description": "",
        "parameters": [
          {
            "name": "packing_list_id",
            "in": "query",
            "description": "Packing list id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "container_reference",
            "in": "query",
            "description": "Container reference",
            "required": true,
            "type": "string"
          },
          {
            "name": "container_type",
            "in": "query",
            "description": "Container type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "seal_reference",
            "in": "query",
            "description": "Seal reference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/list": {
      "get": {
        "tags": [
          "Container"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "containerListPacking",
        "summary": "Container list packing",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/{id}/show": {
      "get": {
        "tags": [
          "Container"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showContainerPacking",
        "summary": "Show container packing list",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Container packing list id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/update/{id}": {
      "put": {
        "tags": [
          "Container"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateContainerPacking",
        "summary": "Update packing",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Container packing list id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "packing_list_id",
            "in": "query",
            "description": "Packing list id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "container_reference",
            "in": "query",
            "description": "Container reference",
            "required": true,
            "type": "string"
          },
          {
            "name": "container_type",
            "in": "query",
            "description": "Container type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "seal_reference",
            "in": "query",
            "description": "Seal reference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/container/delete/{id}": {
      "delete": {
        "tags": [
          "Container"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteContainer",
        "summary": "Delete container packing list",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Container packing list id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/bank/create": {
      "post": {
        "tags": [
          "Bank"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createBank",
        "summary": "Create bank",
        "description": "",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Transport type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "courier",
            "in": "query",
            "description": "Courier Provider Name",
            "required": true,
            "type": "string"
          },
          {
            "name": "tracking_number",
            "in": "query",
            "description": "Tracking No.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/bank/list": {
      "get": {
        "tags": [
          "Bank"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listBank",
        "summary": "List bank account",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/bank/{id}/show": {
      "get": {
        "tags": [
          "Bank"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showBank",
        "summary": "Show bank account",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/bank/update/{id}": {
      "put": {
        "tags": [
          "Bank"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateBank",
        "summary": "Update bank",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "transport id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "commenter_id",
            "in": "query",
            "description": "Commenter id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "comment",
            "in": "query",
            "description": "Comment",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/bank/delete/{id}": {
      "delete": {
        "tags": [
          "Bank"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteBank",
        "summary": "Delete bank",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Bank id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/create": {
      "post": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createPackage",
        "summary": "Create package",
        "description": "",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "Order Id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Package type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Width",
            "required": true,
            "type": "number"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Height",
            "required": true,
            "type": "number"
          },
          {
            "name": "length",
            "in": "query",
            "description": "Length",
            "required": true,
            "type": "number"
          },
          {
            "name": "weight",
            "in": "query",
            "description": "Weight",
            "required": true,
            "type": "number"
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/list": {
      "get": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listPackage",
        "summary": "List package",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/{id}/show": {
      "get": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showPackage",
        "summary": "Show package",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/update/{id}": {
      "put": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updatePackage",
        "summary": "Update package",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Package type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "width",
            "in": "query",
            "description": "Width",
            "required": true,
            "type": "number"
          },
          {
            "name": "height",
            "in": "query",
            "description": "Height",
            "required": true,
            "type": "number"
          },
          {
            "name": "length",
            "in": "query",
            "description": "Length",
            "required": true,
            "type": "number"
          },
          {
            "name": "weight",
            "in": "query",
            "description": "Weight",
            "required": true,
            "type": "number"
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity",
            "required": true,
            "type": "integer"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/delete/{id}": {
      "delete": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deletePackage",
        "summary": "Delete package",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/item/create": {
      "post": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createPackageItem",
        "summary": "Create package item",
        "description": "",
        "parameters": [
          {
            "name": "package_id",
            "in": "query",
            "description": "Package Id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name",
            "required": true,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description",
            "required": false,
            "type": "string"
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity",
            "required": true,
            "type": "number"
          },
          {
            "name": "uom",
            "in": "query",
            "description": "UOM",
            "required": true,
            "type": "string"
          },
          {
            "name": "price",
            "in": "query",
            "description": "Price",
            "required": true,
            "type": "number"
          },
          {
            "name": "total",
            "in": "query",
            "description": "Total",
            "required": true,
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/item/list": {
      "get": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listPackageItem",
        "summary": "List package item",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/item/{id}/show": {
      "get": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showPackageItem",
        "summary": "Show package item",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package item id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/item/update/{id}": {
      "put": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updatePackageItem",
        "summary": "Update package item",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package item id",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name",
            "required": true,
            "type": "string"
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description",
            "required": false,
            "type": "string"
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "Quantity",
            "required": true,
            "type": "number"
          },
          {
            "name": "uom",
            "in": "query",
            "description": "UOM",
            "required": true,
            "type": "string"
          },
          {
            "name": "price",
            "in": "query",
            "description": "Price",
            "required": true,
            "type": "number"
          },
          {
            "name": "total",
            "in": "query",
            "description": "Total",
            "required": true,
            "type": "number"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/packing_list/package/item/delete/{id}": {
      "delete": {
        "tags": [
          "Package"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deletePackageItem",
        "summary": "Delete package item",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Package item id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/transport/create": {
      "post": {
        "tags": [
          "Transport"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createTransport",
        "summary": "Create transport",
        "description": "",
        "parameters": [
          {
            "name": "container_id",
            "in": "query",
            "description": "Container Id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Transport type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "courier",
            "in": "query",
            "description": "Courier Provider Name",
            "required": true,
            "type": "string"
          },
          {
            "name": "tracking_number",
            "in": "query",
            "description": "Tracking No.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/transport/list": {
      "get": {
        "tags": [
          "Transport"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listTransport",
        "summary": "List transport",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/transport/{id}/show": {
      "get": {
        "tags": [
          "Transport"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showTransport",
        "summary": "Show transport",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Transport id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/transport/update/{id}": {
      "put": {
        "tags": [
          "Transport"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateTransport",
        "summary": "Update transport",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "transport id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Transport type",
            "required": true,
            "type": "integer"
          },
          {
            "name": "courier",
            "in": "query",
            "description": "Courier Provider Name",
            "required": true,
            "type": "string"
          },
          {
            "name": "tracking_number",
            "in": "query",
            "description": "Tracking No.",
            "required": true,
            "type": "string"
          },
          {
            "name": "dispatch_date",
            "in": "query",
            "description": "Dispatch date (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          },
          {
            "name": "drop_date",
            "in": "query",
            "description": "Drop date (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/transport/delete/{id}": {
      "delete": {
        "tags": [
          "Transport"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteTransport",
        "summary": "Delete transport",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Transport id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/schedule/create": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createSchedule",
        "summary": "Create schedule",
        "description": "",
        "parameters": [
          {
            "name": "transport_id",
            "in": "query",
            "description": "Transport id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "etd",
            "in": "query",
            "description": "Estimate time deliver (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          },
          {
            "name": "eta",
            "in": "query",
            "description": "Estimate time arrival (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/schedule/list": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listSchedule",
        "summary": "List schedule",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/schedule/{id}/show": {
      "get": {
        "tags": [
          "Schedule"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showSchedule",
        "summary": "Show schedules",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Schedule id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/schedule/update/{id}": {
      "put": {
        "tags": [
          "Schedule"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateSchedule",
        "summary": "Update schedule",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Schedule id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "etd",
            "in": "query",
            "description": "Estimate time deliver (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          },
          {
            "name": "eta",
            "in": "query",
            "description": "Estimate time arrival (e.g. 2021-09-01)",
            "required": true,
            "type": "string"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/schedule/delete/{id}": {
      "delete": {
        "tags": [
          "Schedule"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteSchedule",
        "summary": "Delete schedule",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Schedule id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/remark/create": {
      "post": {
        "tags": [
          "Remark"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createRemark",
        "summary": "Create remark",
        "description": "",
        "parameters": [
          {
            "name": "commenter_id",
            "in": "query",
            "description": "Commenter id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "content",
            "in": "query",
            "description": "Content",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/remark/update/{id}": {
      "put": {
        "tags": [
          "Remark"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateRemark",
        "summary": "Update remark",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Remark id",
            "required": true,
            "type": "string"
          },
          {
            "name": "commenter_id",
            "in": "query",
            "description": "Commenter id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "content",
            "in": "query",
            "description": "Content",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/remark/{id}/show": {
      "get": {
        "tags": [
          "Remark"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showRemark",
        "summary": "Show remarks",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Remark id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/remark/delete/{id}": {
      "delete": {
        "tags": [
          "Remark"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteRemark",
        "summary": "Delete remark",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Remark id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/remark/list": {
      "get": {
        "tags": [
          "Remark"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listRemarks",
        "summary": "List remarks",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/create": {
      "post": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createOrder",
        "summary": "Create order",
        "description": "",
        "parameters": [
          {
            "name": "company_id",
            "in": "query",
            "description": "Company ID",
            "required": true,
            "type": "integer"
          },
          {
            "name": "warehouse_id",
            "in": "query",
            "description": "Warehouse ID",
            "required": true,
            "type": "integer"
          },
          {
            "name": "address_id",
            "in": "query",
            "description": "Address ID",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/confirm/{id}": {
      "put": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "confirmOrder",
        "summary": "Admin confirms order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/step/{id}/complete": {
      "put": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "completeOrderStep",
        "summary": "Completes order step",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order step Id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/show/{id}": {
      "get": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showOrder",
        "summary": "Show order",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order Reference Id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/address/change/request": {
      "post": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "requestChangeOrderAddress",
        "summary": "Request Change Order Address",
        "description": "",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "Order ID",
            "required": true,
            "type": "integer"
          },
          {
            "name": "address_id",
            "in": "query",
            "description": "New Order Address ID",
            "required": true,
            "type": "integer"
          },
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/order/address/change/approve": {
      "post": {
        "tags": [
          "Order"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "approveChangeOrderAddress",
        "summary": "Approve Change Order Address",
        "description": "",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "Order ID",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/create": {
      "post": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "createAddress",
        "summary": "Create address",
        "description": "",
        "parameters": [
          {
            "name": "company_id",
            "in": "query",
            "description": "Company id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "district_id",
            "in": "query",
            "description": "District id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "street_one",
            "in": "query",
            "description": "Address line 1",
            "required": true,
            "type": "string"
          },
          {
            "name": "street_two",
            "in": "query",
            "description": "Address line 2",
            "required": true,
            "type": "string"
          },
          {
            "name": "post_code",
            "in": "query",
            "description": "Postcode of the address",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/delete/{id}": {
      "delete": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "deleteAddress",
        "summary": "Delete address",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "District id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/district/list": {
      "get": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listDistrictAddress",
        "summary": "List districts",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/list": {
      "get": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "listAddress",
        "summary": "List addresses of logged in user",
        "description": "",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Filters",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/{id}/show": {
      "get": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "showAddress",
        "summary": "List addresses of logged in user",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Address id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/{id}/default": {
      "put": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "setDefaultAddress",
        "summary": "Set default address",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Address id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "district_id",
            "in": "query",
            "description": "District id",
            "required": true,
            "type": "integer"
          },
          {
            "name": "street_one",
            "in": "query",
            "description": "Address line 1",
            "required": true,
            "type": "string"
          },
          {
            "name": "street_two",
            "in": "query",
            "description": "Address line 2",
            "required": true,
            "type": "string"
          },
          {
            "name": "post_code",
            "in": "query",
            "description": "Postcode of the address",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/address/update/{id}": {
      "put": {
        "tags": [
          "Address"
        ],
        "produces": [
          "application/json"
        ],
        "operationId": "updateAddress",
        "summary": "Set default address",
        "description": "",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Address id",
            "required": true,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "422": {
            "description": "Invalid input supplied"
          }
        }
      }
    },
    "/account/authentication/login/check_email": {
      "post": {
        "tags": [
          "Account",
          "Flow - Registration"
        ],
        "summary": "Check if email registered",
        "description": "",
        "operationId": "checkEmail",
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "description": "email",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "default": {
            "description": "successful operation"
          }
        }
      }
    },
    "/account/registration": {
      "post": {
        "tags": [
          "Account",
          "Flow - Registration"
        ],
        "produces": [
          "application/json"
        ],
        "summary": "Register user into the system",
        "description": "",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name of user",
            "required": true,
            "type": "string"
          },
          {
            "name": "email",
            "in": "query",
            "description": "The email for login",
            "required": true,
            "type": "string",
            "format": "email"
          },
          {
            "name": "password",
            "in": "query",
            "description": "The password for login",
            "required": true,
            "type": "string",
            "format": "password"
          },
          {
            "name": "password_confirmation",
            "in": "query",
            "description": "The confirmation password for login",
            "required": true,
            "type": "string",
            "format": "password"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Company Type - PERSONAL_BUSINESS:0 , COMPANY_BUSINESS:1",
            "required": true,
            "type": "integer"
          },
          {
            "name": "phone",
            "in": "query",
            "description": "Contact phone number",
            "required": true,
            "type": "string"
          },
          {
            "name": "contact_email",
            "in": "query",
            "description": "Contact email",
            "required": true,
            "type": "string"
          },
          {
            "name": "company_name",
            "in": "query",
            "description": "The company name - if not defined , name of user will save as the company name",
            "required": false,
            "type": "string"
          },
          {
            "name": "business_type",
            "in": "query",
            "description": "Business Type - FREIGHT_FORWARDER:1, IMPORTER:2, CURRENCY_VENDOR:3, WAREHOUSE:4",
            "required": false,
            "default": 2,
            "type": "integer"
          },
          {
            "name": "wechat_id",
            "in": "query",
            "description": "Contact Wechat id",
            "required": false,
            "type": "string"
          },
          {
            "name": "files[0]",
            "in": "query",
            "description": "File need to convert to base64 example : 'data:application/pdf;base64,{Base64}';",
            "required": true,
            "type": "string"
          },
          {
            "name": "identification_no",
            "in": "query",
            "description": "Personal identification no or company registration no",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Invalid username/password supplied"
          }
        }
      }
    },
    "/account/authentication/login/attempt": {
      "post": {
        "tags": [
          "Account"
        ],
        "produces": [
          "application/json"
        ],
        "summary": "Logs user into the system",
        "operationId": "aaa",
        "description": "",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "description": "The user name for login",
            "required": true,
            "type": "string"
          },
          {
            "name": "password",
            "in": "query",
            "description": "The password for login in clear text",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "headers": {
              "X-Expires-After": {
                "type": "string",
                "format": "date-time",
                "description": "date in UTC when token expires"
              },
              "X-Rate-Limit": {
                "type": "integer",
                "format": "int32",
                "description": "calls per hour allowed by the user"
              }
            },
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Invalid username/password supplied"
          }
        }
      }
    },
    "/account/authentication/logout": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Logs out current logged in user session",
        "description": "",
        "operationId": "logoutUser",
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [],
        "responses": {
          "default": {
            "description": "successful operation"
          }
        }
      }
    },
    "/account/user/list": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Logs out current logged in user session",
        "description": "",
        "operationId": "userList",
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [],
        "responses": {
          "default": {
            "description": "successful operation"
          }
        }
      }
    },
    "/company/list": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "List of Companies",
        "description": "example filters={\"WithCompanyModuleType\":4,\"order_by\":{\"column\":\"id\",\"DESC\":true}} | to get list of company with company_module.Type(business type) = 4(Warehouse)",
        "operationId": "companyList",
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "name": "filters",
            "in": "query",
            "description": "Eloquent Filter",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "successful operation"
          }
        }
      }
    },
    "/company/create": {
      "post": {
        "tags": [
          "Company"
        ],
        "summary": "Create company",
        "description": "",
        "operationId": "companyCreate",
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "Company Type - PERSONAL_BUSINESS:0 , COMPANY_BUSINESS:1",
            "required": true,
            "type": "integer",
            "enum": [
              0,
              1
            ]
          },
          {
            "name": "business_type",
            "in": "query",
            "description": "Business Type - FREIGHT_FORWARDER:1, IMPORTER:2, CURRENCY_VENDOR:3, WAREHOUSE:4",
            "required": true,
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4
            ]
          },
          {
            "name": "name",
            "in": "query",
            "description": "Fill in name if type = 0",
            "required": false,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "Fill in name if type = 0",
            "required": false,
            "type": "string"
          },
          {
            "name": "company_name",
            "in": "query",
            "description": "Fill in company_name if type = 1",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "default": {
            "description": "successful operation"
          }
        }
      }
    }
  },
  "securityDefinitions": {
    "Authorization": {
      "type": "apiKey",
      "name": "api_key",
      "in": "header"
    },
    "petstore_auth": {
      "type": "oauth2",
      "authorizationUrl": "https://petstore.swagger.io/oauth/authorize",
      "flow": "implicit",
      "scopes": {
        "read:pets": "read your pets",
        "write:pets": "modify pets in your account"
      }
    }
  },
  "definitions": {
    "ApiResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "title": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "payload": {
          "type": "object"
        }
      }
    }
  }
}
