{
  "info": {
    "name": "Supply Orders Addons APIs",
    "description": "Complete API Collection for Supply Orders Management - All 25 Endpoints",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "1. Assign Delegates",
      "item": [
        {
          "name": "Bulk - Assign Multiple Items to Delegate",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"item_ids\": [1, 2, 3, 4, 5],\n  \"delegate_id\": 123,\n  \"notes\": \"Optional notes\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{items}}/assign-delegate-bulk",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{items}}", "assign-delegate-bulk"]
            }
          }
        },
        {
          "name": "Assign Single Item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"delegate_id\": 123,\n  \"notes\": \"Notes\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/assign-delegate",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "assign-delegate"]
            }
          }
        }
      ]
    },
    {
      "name": "2. Alternatives",
      "item": [
        {
          "name": "Propose Alternative Item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"alternative_item_id\": 45,\n  \"reason\": \"Better price\",\n  \"price_difference\": -200\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/propose-alternative",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "propose-alternative"]
            }
          }
        },
        {
          "name": "Get Alternatives",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/alternatives",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "alternatives"]
            }
          }
        }
      ]
    },
    {
      "name": "3. Supplier Quotes",
      "item": [
        {
          "name": "Bulk - Add Quote for Multiple Items",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"item_ids\": [1, 2, 3, 4],\n  \"supplier_id\": 5,\n  \"purchase_price\": 100,\n  \"delivery_period\": 7,\n  \"notes\": \"Notes\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{items}}/add-supplier-quote-bulk",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{items}}", "add-supplier-quote-bulk"]
            }
          }
        },
        {
          "name": "Add Quote for Single Item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"supplier_id\": 5,\n  \"purchase_price\": 100,\n  \"delivery_period\": 7,\n  \"notes\": \"Notes\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/add-supplier-quote",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "add-supplier-quote"]
            }
          }
        },
        {
          "name": "Get Supplier Quotes",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/supplier-quotes",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "supplier-quotes"]
            }
          }
        },
        {
          "name": "Update Quote",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"purchase_price\": 95,\n  \"delivery_period\": 5\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/supplier-quotes/{{quoteId}}",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "supplier-quotes", "{{quoteId}}"]
            }
          }
        },
        {
          "name": "Delete Quote",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/supplier-quotes/{{quoteId}}",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "supplier-quotes", "{{quoteId}}"]
            }
          }
        }
      ]
    },
    {
      "name": "4. Customer Quotations",
      "item": [
        {
          "name": "Create Quotation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"location_id\": 10,\n  \"item_ids\": [1, 2, 3],\n  \"validity_date\": \"2026-02-07\",\n  \"payment_method\": \"credit\",\n  \"delivery_period\": 15,\n  \"discount_percentage\": 5,\n  \"additional_costs\": [\n    {\n      \"type\": \"shipping\",\n      \"name\": \"Shipping Cost\",\n      \"value\": 200\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/quotations",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "quotations"]
            }
          }
        },
        {
          "name": "Update Quotation",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"discount_percentage\": 10\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/quotations/{{quotationId}}",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "quotations", "{{quotationId}}"]
            }
          }
        },
        {
          "name": "Approve Quotation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/quotations/{{quotationId}}/approve",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "quotations", "{{quotationId}}", "approve"]
            }
          }
        },
        {
          "name": "Get Quotations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/quotations",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "quotations"]
            }
          }
        }
      ]
    },
    {
      "name": "5. Purchase Orders",
      "item": [
        {
          "name": "Create PO from Single Quote",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"quote_id\": 101,\n  \"expected_delivery_date\": \"2026-01-20\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/purchase-orders",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "purchase-orders"]
            }
          }
        },
        {
          "name": "Bulk - PO Single Supplier",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"quote_ids\": [101, 102, 103, 104],\n  \"supplier_id\": 5,\n  \"expected_delivery_date\": \"2026-01-20\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/purchase-orders/bulk-single-supplier",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "purchase-orders", "bulk-single-supplier"]
            }
          }
        },
        {
          "name": "Bulk - PO Multiple Suppliers",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"quote_ids\": [101, 102, 103, 104, 105],\n  \"expected_delivery_date\": \"2026-01-20\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/purchase-orders/bulk-multi-supplier",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "purchase-orders", "bulk-multi-supplier"]
            }
          }
        }
      ]
    },
    {
      "name": "6. Receive from Supplier",
      "item": [
        {
          "name": "Bulk - Receive Multiple Items",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"item_ids\": [1, 2, 3],\n  \"received_quantities\": [10, 15, 20],\n  \"notes\": \"Received successfully\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/bulk-receive",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "bulk-receive"]
            }
          }
        },
        {
          "name": "Receive Single Item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"received_quantity\": 10,\n  \"notes\": \"Received\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/receive",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "receive"]
            }
          }
        }
      ]
    },
    {
      "name": "7. Customer Delivery",
      "item": [
        {
          "name": "Bulk - Deliver Multiple Items",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"item_ids\": [1, 2, 3],\n  \"delivered_quantities\": [10, 15, 20],\n  \"notes\": \"Delivered\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/bulk-deliver",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "bulk-deliver"]
            }
          }
        },
        {
          "name": "Deliver Single Item",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"delivered_quantity\": 10,\n  \"notes\": \"Delivered\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/items/{{itemId}}/deliver",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "items", "{{itemId}}", "deliver"]
            }
          }
        }
      ]
    },
    {
      "name": "8. Delivery Issues",
      "item": [
        {
          "name": "Register Issue",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"issue_type\": \"quantity_shortage\",\n  \"item_id\": 1,\n  \"description\": \"Received lower quantity\",\n  \"priority\": \"high\"\n}"
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/issues",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "issues"]
            }
          }
        },
        {
          "name": "Get Issues",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/issues",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "issues"]
            }
          }
        }
      ]
    },
    {
      "name": "9. Attachments",
      "item": [
        {
          "name": "Upload Attachment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": ""
                },
                {
                  "key": "collection",
                  "value": "supply_domain",
                  "type": "text"
                }
              ]
            },
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/attachments",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "attachments"]
            }
          }
        },
        {
          "name": "Get Attachments",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/attachments",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "attachments"]
            }
          }
        },
        {
          "name": "Delete Attachment",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{access_token}}"
              }
            ],
            "url": {
              "raw": "{{BASE_URL}}/supply/orders/{{orderId}}/attachments/{{attachmentId}}",
              "host": ["{{BASE_URL}}"],
              "path": ["supply", "orders", "{{orderId}}", "attachments", "{{attachmentId}}"]
            }
          }
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "BASE_URL",
      "value": "http://localhost:8000/api/v1",
      "type": "string"
    },
    {
      "key": "orderId",
      "value": "1",
      "type": "string"
    },
    {
      "key": "items",
      "value": "1,2,3",
      "type": "string"
    },
    {
      "key": "itemId",
      "value": "1",
      "type": "string"
    },
    {
      "key": "quoteId",
      "value": "1",
      "type": "string"
    },
    {
      "key": "quotationId",
      "value": "1",
      "type": "string"
    },
    {
      "key": "attachmentId",
      "value": "1",
      "type": "string"
    },
    {
      "key": "access_token",
      "value": "your_token_here",
      "type": "string"
    }
  ]
}
