{
	"info": {
		"_postman_id": "supply-notifications-testing",
		"name": "Supply Notifications Testing",
		"description": "مجموعة اختبار إشعارات نظام التوريد\n\nتحتوي على endpoints لاختبار جميع الإشعارات المُنفذة:\n- إشعارات الطلبات\n- إشعارات التوزيع والتسعير\n- إشعارات الأصناف البديلة\n- إشعارات عروض الأسعار\n- إشعارات أوامر الشراء\n- إشعارات التوريد والاستلام\n- إشعارات تسليم العميل",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"variable": [
		{
			"key": "base_url",
			"value": "http://localhost:8000/api/v1",
			"type": "string"
		},
		{
			"key": "token",
			"value": "",
			"type": "string"
		},
		{
			"key": "order_id",
			"value": "1",
			"type": "string"
		},
		{
			"key": "item_id",
			"value": "1",
			"type": "string"
		},
		{
			"key": "quotation_id",
			"value": "1",
			"type": "string"
		},
		{
			"key": "po_id",
			"value": "1",
			"type": "string"
		},
		{
			"key": "supervisor_id",
			"value": "1",
			"type": "string"
		},
		{
			"key": "agent_id",
			"value": "3",
			"type": "string"
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{token}}",
				"type": "string"
			}
		]
	},
	"item": [
		{
			"name": "Auth",
			"item": [
				{
					"name": "Login",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"var jsonData = pm.response.json();",
									"if(jsonData.token) {",
									"    pm.collectionVariables.set('token', jsonData.token);",
									"}",
									"if(jsonData.result && jsonData.result.token) {",
									"    pm.collectionVariables.set('token', jsonData.result.token);",
									"}",
									"if(jsonData.data && jsonData.data.token) {",
									"    pm.collectionVariables.set('token', jsonData.data.token);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"auth": {
							"type": "noauth"
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"phone_or_email\": \"admin@admin.com\",\n    \"password\": \"admin\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/auth/login",
							"host": ["{{base_url}}"],
							"path": ["auth", "login"]
						},
						"description": "تسجيل الدخول للحصول على token"
					}
				}
			]
		},
		{
			"name": "1. Order Management Notifications",
			"description": "إشعارات إدارة الطلبات",
			"item": [
				{
					"name": "1.1 Create New Order (Triggers: SupplyOrderCreatedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"var jsonData = pm.response.json();",
									"var orderData = jsonData.result || jsonData.data;",
									"if(orderData && orderData.id) {",
									"    pm.collectionVariables.set('order_id', orderData.id);",
									"}",
									"",
									"pm.test('Order created successfully', function() {",
									"    pm.response.to.have.status(201);",
									"});",
									"",
									"pm.test('Notification should be triggered', function() {",
									"    pm.expect(orderData).to.have.property('order_number');",
									"});"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"customer_id\": 1,\n    \"status\": \"new\",\n    \"type\": \"regular\",\n    \"priority\": \"high\",\n    \"is_emergency\": false,\n    \"required_delivery_date\": \"2026-03-01\",\n    \"notes\": \"طلب اختبار الإشعارات\",\n    \"items\": [\n        {\n            \"catalog_item_id\": 1,\n            \"item_description\": \"حديد تسليح 12 مم\",\n            \"quantity\": 10,\n            \"unit_of_measure\": \"طن\"\n        },\n        {\n            \"catalog_item_id\": 2,\n            \"item_description\": \"اسمنت بورتلاندي\",\n            \"quantity\": 5,\n            \"unit_of_measure\": \"كيس\"\n        }\n    ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders"]
						},
						"description": "إنشاء طلب جديد\n\n✅ يُطلق إشعار: SupplyOrderCreatedNotification\n📧 المستلم: مشرف الطلبات\n📝 الرسالة: تم إنشاء طلب جديد رقم {{order_number}}"
					}
				},
				{
					"name": "1.2 Save as Draft (Triggers: SupplyOrderDraftSavedNotification)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"customer_id\": 1,\n    \"status\": \"draft\",\n    \"type\": \"regular\",\n    \"priority\": \"low\",\n    \"notes\": \"مسودة طلب - قيد الإعداد\",\n    \"items\": [\n        {\n            \"catalog_item_id\": 3,\n            \"item_description\": \"كابل كهربائي 4 مم\",\n            \"quantity\": 1,\n            \"unit_of_measure\": \"متر\"\n        }\n    ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders"]
						},
						"description": "حفظ طلب كمسودة\n\n✅ يُطلق إشعار: SupplyOrderDraftSavedNotification\n📧 المستلم: منشئ الطلب\n📝 الرسالة: تم حفظ الطلب {{order_number}} كمسودة"
					}
				},
				{
					"name": "1.3 Assign Supervisor (Triggers: SupplyOrderSupervisorAssignedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Supervisor assigned successfully', function() {",
									"    pm.response.to.have.status(200);",
									"});",
									"",
									"pm.test('Notification should be sent to supervisor', function() {",
									"    var jsonData = pm.response.json();",
									"    var orderData = jsonData.result || jsonData.data;",
									"    pm.expect(orderData.supervisor_id).to.not.be.null;",
									"});"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"supervisor_id\": {{supervisor_id}}\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}"]
						},
						"description": "تعيين مشرف على الطلب\n\n✅ يُطلق إشعار: SupplyOrderSupervisorAssignedNotification\n🔴 الأولوية: عالية\n📧 المستلم: المشرف المُعين\n📝 الرسالة: تم تعيينك مشرفاً على الطلب رقم {{request_no}}"
					}
				},
				{
					"name": "1.4 Get Order Details",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}"]
						},
						"description": "عرض تفاصيل الطلب للتحقق من حالته"
					}
				}
			]
		},
		{
			"name": "2. Distribution & Pricing Notifications",
			"description": "إشعارات التوزيع والتسعير",
			"item": [
				{
					"name": "2.1 Assign Item to Agent (Triggers: SupplyOrderItemAssignedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Item assigned successfully', function() {",
									"    pm.response.to.have.status(200);",
									"});",
									"",
									"pm.test('Notification should be sent to agent', function() {",
									"    var jsonData = pm.response.json();",
									"    pm.expect(jsonData.success).to.be.true;",
									"});"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"assigned_to\": {{agent_id}}\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/items/{{item_id}}/assign-delegate",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "items", "{{item_id}}", "assign-delegate"]
						},
						"description": "تعيين صنف لمندوب\n\n✅ يُطلق إشعار: SupplyOrderItemAssignedNotification\n🔴 الأولوية: عالية\n📧 المستلم: المندوب\n📝 الرسالة: تم إسناد صنف جديد لك في الطلب {{order_number}}"
					}
				},
				{
					"name": "2.2 Bulk Assign Items to Agent",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"item_ids\": [1, 2, 3],\n    \"assigned_to\": {{agent_id}}\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/items/assign-delegate-bulk",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "items", "assign-delegate-bulk"]
						},
						"description": "تعيين عدة أصناف لمندوب دفعة واحدة\n\n✅ يُطلق إشعارات متعددة للمندوب"
					}
				},
				{
					"name": "2.3 Add Supplier Quote to Item",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Quote added successfully', function() {",
									"    pm.response.to.have.status(201);",
									"});"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"supplier_id\": 1,\n    \"unit_price\": 150.00,\n    \"quantity\": 10,\n    \"currency\": \"SAR\",\n    \"delivery_days\": 7,\n    \"notes\": \"عرض سعر من المورد\",\n    \"is_recommended\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/items/{{item_id}}/add-supplier-quote",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "items", "{{item_id}}", "add-supplier-quote"]
						},
						"description": "إضافة عرض سعر من مورد لصنف"
					}
				},
				{
					"name": "2.4 Get Order Items",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/order-items/by-order/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["supply", "order-items", "by-order", "{{order_id}}"]
						},
						"description": "عرض أصناف الطلب"
					}
				},
				{
					"name": "2.5 Get My Delegated Items (Agent View)",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/order-items/my-delegated-items",
							"host": ["{{base_url}}"],
							"path": ["supply", "order-items", "my-delegated-items"]
						},
						"description": "عرض الأصناف المُسندة للمندوب الحالي"
					}
				}
			]
		},
		{
			"name": "3. Alternative Items Notifications",
			"description": "إشعارات الأصناف البديلة",
			"item": [
				{
					"name": "3.1 Propose Alternative (Triggers: AlternativeItemProposedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Alternative proposed successfully', function() {",
									"    pm.response.to.have.status(201);",
									"});",
									"",
									"var jsonData = pm.response.json();",
									"var resData = jsonData.result || jsonData.data;",
									"if(resData && resData.id) {",
									"    pm.collectionVariables.set('alternative_id', resData.id);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"alternative_name\": \"منتج بديل مقترح\",\n    \"alternative_description\": \"وصف المنتج البديل - جودة مماثلة بسعر أفضل\",\n    \"alternative_price\": 120.00,\n    \"original_price\": 150.00,\n    \"reason\": \"سعر أفضل مع نفس الجودة\",\n    \"supplier_id\": 1\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/items/{{item_id}}/propose-alternative",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "items", "{{item_id}}", "propose-alternative"]
						},
						"description": "اقتراح بديل لصنف\n\n✅ يُطلق إشعار: AlternativeItemProposedNotification\n🔴 الأولوية: عالية\n📧 المستلم: المسؤول\n📝 الرسالة: تم اقتراح بديل للطلب {{order_number}}"
					}
				},
				{
					"name": "3.2 Get Pending Alternatives",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/alternatives/pending",
							"host": ["{{base_url}}"],
							"path": ["supply", "alternatives", "pending"]
						},
						"description": "عرض البدائل المعلقة بانتظار الموافقة"
					}
				},
				{
					"name": "3.3 Approve Alternative",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"approval_notes\": \"تمت الموافقة على البديل المقترح\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/alternatives/{{alternative_id}}/approve",
							"host": ["{{base_url}}"],
							"path": ["supply", "alternatives", "{{alternative_id}}", "approve"]
						},
						"description": "الموافقة على بديل مقترح"
					}
				},
				{
					"name": "3.4 Reject Alternative",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"rejection_reason\": \"الجودة غير مطابقة للمواصفات المطلوبة\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/alternatives/{{alternative_id}}/reject",
							"host": ["{{base_url}}"],
							"path": ["supply", "alternatives", "{{alternative_id}}", "reject"]
						},
						"description": "رفض بديل مقترح"
					}
				}
			]
		},
		{
			"name": "4. Quotation Notifications",
			"description": "إشعارات عروض الأسعار",
			"item": [
				{
					"name": "4.1 Create Customer Quotation (Triggers: SupplyQuotationSentForApprovalNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Quotation created successfully', function() {",
									"    pm.response.to.have.status(201);",
									"});",
									"",
									"var jsonData = pm.response.json();",
									"var resData = jsonData.result || jsonData.data;",
									"if(resData && resData.id) {",
									"    pm.collectionVariables.set('quotation_id', resData.id);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"valid_until\": \"2026-03-15\",\n    \"payment_method\": \"bank_transfer\",\n    \"notes\": \"عرض سعر للعميل\",\n    \"item_ids\": [1, 2],\n    \"send_for_approval\": true\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/quotations",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "quotations"]
						},
						"description": "إنشاء عرض سعر للعميل وإرساله للموافقات\n\n✅ يُطلق إشعار: SupplyQuotationSentForApprovalNotification\n🔴 الأولوية: عالية\n📧 المستلم: الإدارة\n📝 الرسالة: تم إضافة عرض سعر بانتظار التعميد {{quotation_number}}"
					}
				},
				{
					"name": "4.2 Get Order Quotations",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/quotations",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "quotations"]
						},
						"description": "عرض عروض الأسعار للطلب"
					}
				},
				{
					"name": "4.3 Approve Quotation",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"approval_notes\": \"تمت الموافقة على عرض السعر\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/quotations/{{quotation_id}}/approve",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "quotations", "{{quotation_id}}", "approve"]
						},
						"description": "الموافقة على عرض السعر"
					}
				},
				{
					"name": "4.4 List All Quotations",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/quotations",
							"host": ["{{base_url}}"],
							"path": ["supply", "quotations"]
						},
						"description": "عرض جميع عروض الأسعار"
					}
				}
			]
		},
		{
			"name": "5. Purchase Order Notifications",
			"description": "إشعارات أوامر الشراء",
			"item": [
				{
					"name": "5.1 Create Purchase Order (Triggers: PurchaseOrderCreatedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('PO created successfully', function() {",
									"    pm.response.to.have.status(201);",
									"});",
									"",
									"var jsonData = pm.response.json();",
									"var resData = jsonData.result || jsonData.data;",
									"if(resData && resData.id) {",
									"    pm.collectionVariables.set('po_id', resData.id);",
									"}"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"supplier_id\": 1,\n    \"supply_order_id\": {{order_id}},\n    \"expected_delivery_date\": \"2026-03-10\",\n    \"payment_method\": \"credit\",\n    \"notes\": \"أمر شراء من المورد\",\n    \"items\": [\n        {\n            \"supply_order_item_id\": {{item_id}},\n            \"quantity\": 10,\n            \"unit_price\": 150.00\n        }\n    ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/purchase-orders",
							"host": ["{{base_url}}"],
							"path": ["supply", "purchase-orders"]
						},
						"description": "إنشاء أمر شراء\n\n✅ يُطلق إشعار: PurchaseOrderCreatedNotification\n📧 المستلم: قسم المشتريات\n📝 الرسالة: تم إنشاء PO رقم {{po_number}}"
					}
				},
				{
					"name": "5.2 Get Purchase Orders",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/purchase-orders",
							"host": ["{{base_url}}"],
							"path": ["supply", "purchase-orders"]
						},
						"description": "عرض أوامر الشراء"
					}
				},
				{
					"name": "5.3 Get PO Details",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/supply/purchase-orders/{{po_id}}",
							"host": ["{{base_url}}"],
							"path": ["supply", "purchase-orders", "{{po_id}}"]
						},
						"description": "عرض تفاصيل أمر الشراء"
					}
				}
			]
		},
		{
			"name": "6. Delivery Notifications",
			"description": "إشعارات التوريد والاستلام والتسليم",
			"item": [
				{
					"name": "6.1 Record Goods Receipt (Triggers: SupplyReceiptConfirmedNotification)",
					"event": [
						{
							"listen": "test",
							"script": {
								"exec": [
									"pm.test('Goods receipt recorded', function() {",
									"    pm.response.to.have.status(201);",
									"});"
								],
								"type": "text/javascript"
							}
						}
					],
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"purchase_order_id\": {{po_id}},\n    \"received_date\": \"2026-02-16\",\n    \"notes\": \"تم استلام البضاعة\",\n    \"items\": [\n        {\n            \"purchase_order_item_id\": 1,\n            \"received_quantity\": 10,\n            \"condition\": \"good\"\n        }\n    ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/receipts",
							"host": ["{{base_url}}"],
							"path": ["supply", "receipts"]
						},
						"description": "تسجيل استلام بضاعة\n\n✅ يُطلق إشعار: SupplyReceiptConfirmedNotification\n🔴 الأولوية: عالية\n📧 المستلم: المشرف\n📝 الرسالة: تم استلام الأصناف للطلب {{order_number}}"
					}
				},
				{
					"name": "6.2 Record Customer Delivery (Triggers: SupplyOrderCustomerDeliveryNotification)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"delivery_date\": \"2026-02-16\",\n    \"recipient_name\": \"محمد أحمد\",\n    \"notes\": \"تم التسليم للعميل\",\n    \"has_issues\": false\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/deliveries/customer",
							"host": ["{{base_url}}"],
							"path": ["supply", "deliveries", "customer"]
						},
						"description": "تسجيل تسليم للعميل\n\n✅ يُطلق إشعار: SupplyOrderCustomerDeliveryNotification\n🔴 الأولوية: عالية\n📧 المستلم: الإدارة\n📝 الرسالة: تم تسليم الطلب {{order_number}}"
					}
				},
				{
					"name": "6.3 Report Order Problem (Triggers: SupplyOrderProblemNotification)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"issue_type\": \"quality\",\n    \"description\": \"جودة المنتج لا تطابق المواصفات المطلوبة\",\n    \"severity\": \"high\",\n    \"affected_items\": [{{item_id}}]\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}/issues",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}", "issues"]
						},
						"description": "الإبلاغ عن مشكلة في الطلب\n\n✅ يُطلق إشعار: SupplyOrderProblemNotification\n🔴 الأولوية: عالية\n📧 المستلم: الإدارة\n📝 الرسالة: يوجد مشكلة في الطلب {{order_number}}"
					}
				},
				{
					"name": "6.4 Update Order Status",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"status\": \"delivered\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/supply/orders/{{order_id}}",
							"host": ["{{base_url}}"],
							"path": ["supply", "orders", "{{order_id}}"]
						},
						"description": "تحديث حالة الطلب"
					}
				}
			]
		},
		{
			"name": "7. Notifications API",
			"description": "API للإشعارات",
			"item": [
				{
					"name": "7.1 Get My Notifications",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/notifications",
							"host": ["{{base_url}}"],
							"path": ["notifications"]
						},
						"description": "عرض إشعاراتي"
					}
				},
				{
					"name": "7.2 Get Unread Notifications",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/notifications/unread",
							"host": ["{{base_url}}"],
							"path": ["notifications", "unread"]
						},
						"description": "عرض الإشعارات غير المقروءة"
					}
				},
				{
					"name": "7.3 Mark Notification as Read",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/notifications/{{notification_id}}/read",
							"host": ["{{base_url}}"],
							"path": ["notifications", "{{notification_id}}", "read"]
						},
						"description": "تحديد إشعار كمقروء"
					}
				},
				{
					"name": "7.4 Mark All as Read",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/notifications/read-all",
							"host": ["{{base_url}}"],
							"path": ["notifications", "read-all"]
						},
						"description": "تحديد جميع الإشعارات كمقروءة"
					}
				},
				{
					"name": "7.5 Get Notifications Count",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/notifications/count",
							"host": ["{{base_url}}"],
							"path": ["notifications", "count"]
						},
						"description": "عدد الإشعارات غير المقروءة"
					}
				}
			]
		},
		{
			"name": "8. Reminder Commands (CLI)",
			"description": "أوامر التذكيرات المجدولة - للتشغيل من Terminal",
			"item": [
				{
					"name": "8.1 Run All Reminders (CLI)",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}/test",
							"host": ["{{base_url}}"],
							"path": ["test"]
						},
						"description": "لتشغيل التذكيرات، استخدم الأمر التالي في Terminal:\n\n```bash\nphp artisan supply:send-reminders\n```\n\nأو لنوع معين:\n```bash\nphp artisan supply:send-reminders --type=orders\nphp artisan supply:send-reminders --type=items\nphp artisan supply:send-reminders --type=quotations\nphp artisan supply:send-reminders --type=delivery\n```\n\nللمعاينة بدون إرسال:\n```bash\nphp artisan supply:send-reminders --dry-run\n```"
					}
				}
			]
		},
		{
			"name": "9. Test Scenarios",
			"description": "سيناريوهات اختبار كاملة",
			"item": [
				{
					"name": "Scenario 1: Complete Order Flow",
					"item": [
						{
							"name": "Step 1: Create Order",
							"request": {
								"method": "POST",
								"header": [
									{"key": "Accept", "value": "application/json"},
									{"key": "Content-Type", "value": "application/json"}
								],
								"body": {
									"mode": "raw",
									"raw": "{\n    \"customer_id\": 1,\n    \"status\": \"new\",\n    \"type\": \"regular\",\n    \"priority\": \"high\",\n    \"required_delivery_date\": \"2026-03-01\",\n    \"items\": [\n        {\n            \"catalog_item_id\": 1,\n            \"item_description\": \"حديد تسليح 12 مم\",\n            \"quantity\": 10,\n            \"unit_of_measure\": \"طن\"\n        }\n    ]\n}"
								},
								"url": {
									"raw": "{{base_url}}/supply/orders",
									"host": ["{{base_url}}"],
									"path": ["supply", "orders"]
								}
							}
						},
						{
							"name": "Step 2: Assign Supervisor",
							"request": {
								"method": "PUT",
								"header": [
									{"key": "Accept", "value": "application/json"},
									{"key": "Content-Type", "value": "application/json"}
								],
								"body": {
									"mode": "raw",
									"raw": "{\n    \"supervisor_id\": 1\n}"
								},
								"url": {
									"raw": "{{base_url}}/supply/orders/{{order_id}}",
									"host": ["{{base_url}}"],
									"path": ["supply", "orders", "{{order_id}}"]
								}
							}
						},
						{
							"name": "Step 3: Assign Item to Agent",
							"request": {
								"method": "POST",
								"header": [
									{"key": "Accept", "value": "application/json"},
									{"key": "Content-Type", "value": "application/json"}
								],
								"body": {
									"mode": "raw",
									"raw": "{\n    \"assigned_to\": 3\n}"
								},
								"url": {
									"raw": "{{base_url}}/supply/orders/{{order_id}}/items/{{item_id}}/assign-delegate",
									"host": ["{{base_url}}"],
									"path": ["supply", "orders", "{{order_id}}", "items", "{{item_id}}", "assign-delegate"]
								}
							}
						},
						{
							"name": "Step 4: Add Supplier Quote",
							"request": {
								"method": "POST",
								"header": [
									{"key": "Accept", "value": "application/json"},
									{"key": "Content-Type", "value": "application/json"}
								],
								"body": {
									"mode": "raw",
									"raw": "{\n    \"supplier_id\": 1,\n    \"unit_price\": 150.00,\n    \"quantity\": 10\n}"
								},
								"url": {
									"raw": "{{base_url}}/supply/orders/{{order_id}}/items/{{item_id}}/add-supplier-quote",
									"host": ["{{base_url}}"],
									"path": ["supply", "orders", "{{order_id}}", "items", "{{item_id}}", "add-supplier-quote"]
								}
							}
						},
						{
							"name": "Step 5: Create Customer Quotation",
							"request": {
								"method": "POST",
								"header": [
									{"key": "Accept", "value": "application/json"},
									{"key": "Content-Type", "value": "application/json"}
								],
								"body": {
									"mode": "raw",
									"raw": "{\n    \"valid_until\": \"2026-03-15\",\n    \"item_ids\": [1],\n    \"send_for_approval\": true\n}"
								},
								"url": {
									"raw": "{{base_url}}/supply/orders/{{order_id}}/quotations",
									"host": ["{{base_url}}"],
									"path": ["supply", "orders", "{{order_id}}", "quotations"]
								}
							}
						}
					]
				}
			]
		}
	]
}
