{
    "schemes": [
        "https",
        "http"
    ],
    "swagger": "2.0",
    "info": {
        "description": "Paid Order API Documentation",
        "title": "Paid Order API Documentation",
        "contact": {},
        "version": "1.0"
    },
    "paths": {
        "/": {
            "get": {
                "description": "Get the info of server.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "HeathCheck"
                ],
                "summary": "Show the info of server.",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/delivery-addresses": {
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Create or update a delivery address for buyer",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Create delivery address for buyer",
                "parameters": [
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateDeliveryAddressRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/by-seller": {
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Create or update a delivery address for Seller",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Create or update delivery address for Seller",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateDeliveryAddressOptionalRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}": {
            "get": {
                "description": "Get delivery address for buyer",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Get delivery address for buyer",
                "parameters": [
                    {
                        "type": "string",
                        "name": "cartID",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}/address": {
            "put": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Seller update recipient address",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Seller update recipient address",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart ID",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateAddressRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}/by-seller": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get delivery address for seller",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Get delivery address for seller",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart ID",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}/logs": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get delivery address logs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Get delivery address logs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart id",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.GetDeliveryAddressLogsResponse"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}/recipient-name": {
            "put": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Seller update recipient name",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Seller update recipient name",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart ID",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateRecipientNameRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/delivery-addresses/{cartId}/recipient-phone": {
            "put": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Seller update recipient phone number",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Seller update recipient phone number",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart ID",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateRecipientPhoneNumberRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/fulfillments": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get list of fulfillments.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Get list of fulfillments.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "deactivate",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.GetFulfillmentsResponse"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Create fulfillment",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Create fulfillment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "CreateFulfillmentRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateFulfillmentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CreateFulfillmentResponse"
                        }
                    }
                }
            }
        },
        "/fulfillments/estimated-fee": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get estimated fee",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Get estimated fee",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "GetFulfillmentEstimatedFeeRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.GetFulfillmentEstimatedFeeRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.GetFulfillmentEstimatedFeeResponse"
                        }
                    }
                }
            }
        },
        "/fulfillments/{id}": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get a fulfillment paid order.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Get a fulfillment paid order.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.Fulfillment"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Create fulfillment from draft",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Create fulfillment from draft",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "CreateFulfillmentFromDraftRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateFulfillmentFromDraftRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CreateFulfillmentFromDraftResponse"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Delete a fulfillment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Delete a fulfillment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Update a fulfillment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Update a fulfillment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateFulfillmentRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateFulfillmentRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/fulfillments/{id}/orders": {
            "delete": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Delete a fulfillment order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Delete a fulfillment order",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "DeleteFulfillmentOrderRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.DeleteFulfillmentOrderRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/fulfillments/{id}/orders/{paidOrderId}": {
            "delete": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Delete order from fulfillment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Fulfillment"
                ],
                "summary": "Delete order from fulfillment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Fulfillment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Paid order ID",
                        "name": "paidOrderId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/guest/delivery-addresses": {
            "post": {
                "description": "Create or update delivery address for guest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Delivery Address"
                ],
                "summary": "Create or update delivery address for guest",
                "parameters": [
                    {
                        "description": "request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateDeliveryAddressRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DeliveryAddress"
                        }
                    }
                }
            }
        },
        "/health-check": {
            "get": {
                "description": "Get the status of server.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "HeathCheck"
                ],
                "summary": "Show the status of server.",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/paid-orders": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get list of paid orders.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Get list of paid orders.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "name": "draft",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.GetPaidOrdersResponse"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Create paid orders",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Create paid orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "CreatePaidOrdersRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreatePaidOrdersRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/paid-orders/arrange-ship": {
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Arrange ship paid orders",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Arrange ship paid orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "ArrangeShipRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ArrangeShipRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/paid-orders/arranged-ship": {
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Get arranged ship paid orders",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Get arranged ship paid orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "GetArrangedShipPaidOrdersRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.GetArrangedShipPaidOrdersRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        },
        "/paid-orders/count": {
            "get": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Count draft orders.",
                "consumes": [
                    "*/*"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Count draft orders.",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CountDraftOrdersResponse"
                        }
                    }
                }
            }
        },
        "/paid-orders/{cartId}/archive": {
            "post": {
                "security": [
                    {
                        "BearerToken": []
                    }
                ],
                "description": "Archive a paid order",
                "consumes": [
                    "*/*"
                ],
                "tags": [
                    "Paid Order"
                ],
                "summary": "Archive a paid order",
                "parameters": [
                    {
                        "type": "string",
                        "description": "User workspace",
                        "name": "userworkspace",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Cart ID",
                        "name": "cartId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": ""
                    }
                }
            }
        }
    },
    "definitions": {
        "dto.ArrangeShipRequest": {
            "type": "object",
            "properties": {
                "paidOrders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.ArrangeShipRequestPaidOrder"
                    }
                }
            }
        },
        "dto.ArrangeShipRequestPaidOrder": {
            "type": "object",
            "properties": {
                "cartId": {
                    "type": "string"
                },
                "shippingGroupId": {
                    "type": "string"
                }
            }
        },
        "dto.CountDraftOrdersResponse": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                }
            }
        },
        "dto.CreateDeliveryAddressOptionalRequest": {
            "type": "object",
            "required": [
                "cartId"
            ],
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "cartId": {
                    "type": "string"
                },
                "countryCode": {
                    "description": "address",
                    "type": "string"
                },
                "deactivate": {
                    "type": "boolean"
                },
                "postalCode": {
                    "type": "string"
                },
                "recipientName": {
                    "description": "delivery info",
                    "type": "string"
                },
                "recipientPhoneNumber": {
                    "type": "string"
                },
                "subLevelLocationIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "unitNumber": {
                    "type": "string"
                }
            }
        },
        "dto.CreateDeliveryAddressRequest": {
            "type": "object",
            "required": [
                "address1",
                "cartId",
                "countryCode",
                "postalCode",
                "recipientName",
                "recipientPhoneNumber",
                "subLevelLocationIds"
            ],
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "cartId": {
                    "type": "string"
                },
                "countryCode": {
                    "description": "address",
                    "type": "string"
                },
                "deactivate": {
                    "type": "boolean"
                },
                "postalCode": {
                    "type": "string"
                },
                "recipientName": {
                    "description": "delivery info",
                    "type": "string"
                },
                "recipientPhoneNumber": {
                    "type": "string"
                },
                "subLevelLocationIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "unitNumber": {
                    "type": "string"
                }
            }
        },
        "dto.CreateFulfillmentFromDraftRequest": {
            "type": "object",
            "properties": {
                "paidOrderIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "dto.CreateFulfillmentFromDraftResponse": {
            "type": "object",
            "properties": {
                "fulfillmentId": {
                    "type": "string"
                }
            }
        },
        "dto.CreateFulfillmentRequest": {
            "type": "object",
            "properties": {
                "paidOrderIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "dto.CreateFulfillmentResponse": {
            "type": "object",
            "properties": {
                "fulfillmentId": {
                    "type": "string"
                }
            }
        },
        "dto.CreatePaidOrdersRequest": {
            "type": "object",
            "properties": {
                "paidOrders": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "cartId": {
                                "type": "string"
                            },
                            "shippingGroupId": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "dto.DeleteFulfillmentOrderRequest": {
            "type": "object",
            "properties": {
                "cartId": {
                    "type": "string"
                },
                "shippingGroupId": {
                    "type": "string"
                }
            }
        },
        "dto.DeliveryAddress": {
            "type": "object",
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "addressId": {
                    "type": "integer"
                },
                "cartId": {
                    "type": "string"
                },
                "countryCode": {
                    "type": "string"
                },
                "deactivate": {
                    "type": "boolean"
                },
                "postalCode": {
                    "type": "string"
                },
                "recipientName": {
                    "type": "string"
                },
                "recipientPhoneNumber": {
                    "type": "string"
                },
                "subLevelLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SubLevelLocation"
                    }
                },
                "unitNumber": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "dto.DeliveryAddressLog": {
            "type": "object",
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "cartId": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "recipientName": {
                    "type": "string"
                },
                "recipientPhoneNumber": {
                    "type": "string"
                },
                "subLevelLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SubLevelLocation"
                    }
                },
                "unitNumber": {
                    "type": "string"
                },
                "version": {
                    "type": "integer"
                }
            }
        },
        "dto.Fulfillment": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "orderDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.OrderDetail"
                    }
                },
                "pickupDetail": {
                    "$ref": "#/definitions/dto.PickupDetail"
                },
                "shipping": {
                    "$ref": "#/definitions/dto.Shipping"
                },
                "step": {
                    "type": "integer"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "dto.GetArrangedShipPaidOrdersRequest": {
            "type": "object",
            "properties": {
                "paidOrders": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "cartId": {
                                "type": "string"
                            },
                            "shippingGroupId": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "dto.GetDeliveryAddressLogsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.DeliveryAddressLog"
                    }
                }
            }
        },
        "dto.GetFulfillmentEstimatedFeeDimension": {
            "type": "object",
            "properties": {
                "estimatedFee": {
                    "type": "number"
                },
                "height": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "length": {
                    "type": "number"
                },
                "weight": {
                    "type": "number"
                },
                "width": {
                    "type": "number"
                }
            }
        },
        "dto.GetFulfillmentEstimatedFeeRequest": {
            "type": "object",
            "properties": {
                "courierDeliveryPlanId": {
                    "type": "integer"
                },
                "dimensions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.GetFulfillmentEstimatedFeeDimension"
                    }
                }
            }
        },
        "dto.GetFulfillmentEstimatedFeeResponse": {
            "type": "object",
            "properties": {
                "courierDeliveryPlanId": {
                    "type": "integer"
                },
                "dimensions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.GetFulfillmentEstimatedFeeDimension"
                    }
                },
                "totalFee": {
                    "type": "number"
                }
            }
        },
        "dto.GetFulfillmentsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.Fulfillment"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.GetPaidOrdersResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PaidOrder"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.OrderDetail": {
            "type": "object",
            "properties": {
                "addressEditable": {
                    "type": "boolean"
                },
                "cartId": {
                    "type": "string"
                },
                "deliveryAddress": {
                    "$ref": "#/definitions/dto.DeliveryAddress"
                },
                "deliveryPhoneEditable": {
                    "type": "boolean"
                },
                "estimatedFee": {
                    "type": "number"
                },
                "height": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "length": {
                    "type": "number"
                },
                "shippingGroupId": {
                    "type": "string"
                },
                "weight": {
                    "type": "number"
                },
                "width": {
                    "type": "number"
                }
            }
        },
        "dto.PaidOrder": {
            "type": "object",
            "properties": {
                "cartId": {
                    "type": "string"
                },
                "fulfillmentId": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "incorrectInformation": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "isArrangedShip": {
                    "type": "boolean"
                },
                "isFulfilled": {
                    "type": "boolean"
                },
                "shipmentId": {
                    "type": "string"
                },
                "shippingGroupId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "dto.PickupDetail": {
            "type": "object",
            "properties": {
                "pickupEndTime": {
                    "type": "string"
                },
                "pickupInstruction": {
                    "type": "string"
                },
                "pickupPointId": {
                    "type": "integer"
                },
                "pickupStartTime": {
                    "type": "string"
                },
                "pickupTime": {
                    "type": "string"
                }
            }
        },
        "dto.Shipping": {
            "type": "object",
            "properties": {
                "courierDeliveryPlanId": {
                    "type": "integer"
                },
                "courierId": {
                    "type": "integer"
                }
            }
        },
        "dto.SubLevelLocation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "internationalName": {
                    "type": "string"
                },
                "localizedName": {
                    "type": "string"
                },
                "parentId": {
                    "type": "integer"
                }
            }
        },
        "dto.UpdateAddressRequest": {
            "type": "object",
            "required": [
                "address1",
                "countryCode",
                "postalCode",
                "recipientName",
                "subLevelLocationIds"
            ],
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "countryCode": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "recipientName": {
                    "type": "string"
                },
                "subLevelLocationIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "unitNumber": {
                    "type": "string"
                }
            }
        },
        "dto.UpdateFulfillmentRequest": {
            "type": "object",
            "properties": {
                "orderDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.UpdateOrderDetailRequest"
                    }
                },
                "pickupDetail": {
                    "$ref": "#/definitions/dto.PickupDetail"
                },
                "shipping": {
                    "$ref": "#/definitions/dto.Shipping"
                },
                "step": {
                    "type": "integer"
                }
            }
        },
        "dto.UpdateOrderDetailRequest": {
            "type": "object",
            "properties": {
                "cartId": {
                    "type": "string"
                },
                "height": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "length": {
                    "type": "number"
                },
                "shippingGroupId": {
                    "type": "string"
                },
                "weight": {
                    "type": "number"
                },
                "width": {
                    "type": "number"
                }
            }
        },
        "dto.UpdateRecipientNameRequest": {
            "type": "object",
            "required": [
                "recipientName"
            ],
            "properties": {
                "countryCode": {
                    "type": "string"
                },
                "recipientName": {
                    "type": "string"
                }
            }
        },
        "dto.UpdateRecipientPhoneNumberRequest": {
            "type": "object",
            "required": [
                "recipientPhoneNumber"
            ],
            "properties": {
                "countryCode": {
                    "type": "string"
                },
                "recipientPhoneNumber": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "BearerToken": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}